{ pkgs, ... }: { imports = [ ./firefox.nix ./polybar.nix ./gnome-terminal.nix ./monitor_configs.nix ]; home.file = { ".config/IJHack/QtPass.conf".source = ./assets/QtPass.conf; "fixbluetooth" = { executable = true; source = ./assets/resetbluetooth.sh; }; }; # Dell Precision Nonsense home.packages = with pkgs; [ alsa-utils ]; home.file."precision/fixmicrophone" = { executable = true; text = '' # https://github.com/NixOS/nixpkgs/issues/294170 sudo ln -s /run/current-system/sw/bin/rm /bin sudo ln -s /run/current-system/sw/bin/mkdir /bin # https://discourse.nixos.org/t/dell-xps-13-9320-microphone-not-working/40932/3 sudo alsactl init systemctl --user restart pipewire ''; }; programs.browserpass.enable = true; programs.chromium = { enable = true; extensions = [ { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # UBlock Origin { id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # Vimium { id = "naepdomgkenhinolocfifgehidddafch"; } # Browserpass ]; }; # picom --vsync --experimental-backend xsession.windowManager.i3 = { enable = true; config.bars = []; extraConfig = '' ################################################################################ set $mod Mod4 # Font for window titles. font pango:monospace 8 # Bar exec_always --no-startup-id systemctl --user restart polybar # Background #exec_always --no-startup-id feh --bg-scale $HOME/Archive/Multimedia/Pictures/Firewatch\ Wallpapers/3\ -\ NAQ0dTR.png #exec_always --no-startup-id feh --bg-scale $HOME/Archive/Multimedia/Pictures/Other\ Wallpapers/EMwduGkh_o.png #exec_always --no-startup-id feh --bg-scale $HOME/Archive/Multimedia/Pictures/Other\ Wallpapers/1345403996113.jpg #exec_always --no-startup-id feh --bg-scale $HOME/tmp/backgrounds/dcrhoj0-e922ac66-5611-43af-a35e-e5068ab642c3.png #exec_always --no-startup-id feh --bg-scale $HOME/Archive/Multimedia/Pictures/Wallpapers/ae4xtKY.jpg ################################################################################ # Hardware Control # Desk Lights bindsym $mod+Shift+d exec curl -X POST https://homeassistant.mlaga97.space/api/webhook/--caDGWR8KXLTM3yZ6Y01XPe6 bindsym $mod+Shift+w exec curl -X POST https://homeassistant.mlaga97.space/api/webhook/-tbHkUPb8aLVcFaOQcXbBdIJb bindsym $mod+Shift+o exec curl -X POST https://homeassistant.mlaga97.space/api/webhook/-fmYa59UtZaMXythyEsda_ulo # Network Manager exec nm-applet # Allow gnome apps to prompt for password exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & # Various gnome-settings-daemon helpers exec --no-startup-id /usr/libexec/gsd-backlight-helper & #exec --no-startup-id /usr/libexec/gsd-usb-protection & #exec --no-startup-id /usr/libexec/gsd-sound & #exec --no-startup-id /usr/libexec/gsd-disk-utility-notify & #exec --no-startup-id /usr/libexec/gsd-power & #exec --no-startup-id /usr/libexec/gsd-screensaver-proxy & #exec --no-startup-id /usr/libexec/gsd-wacom & #exec --no-startup-id /usr/libexec/gsd-xsettings & #exec --no-startup-id /usr/libexec/gsd-printer & #exec --no-startup-id /usr/libexec/gsd-sharing & #exec --no-startup-id /usr/libexec/gsd-color & #exec --no-startup-id /usr/libexec/gsd-wwan & #exec --no-startup-id /usr/libexec/gsd-datetime & #exec --no-startup-id /usr/libexec/gsd-wacom-oled-helper & #exec --no-startup-id /usr/libexec/gsd-keyboard & #exec --no-startup-id /usr/libexec/gsd-smartcard & #exec --no-startup-id /usr/libexec/gsd-a11y-settings & #exec --no-startup-id /usr/libexec/gsd-media-keys & #exec --no-startup-id /usr/libexec/gsd-rfkill & #exec --no-startup-id /usr/libexec/gsd-housekeeping & #exec --no-startup-id /usr/libexec/gsd-print-notifications & # Screen Brightness Controls bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5% bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%- # Monitor Layout Controls bindsym $mod+Control+d exec arandr # Pulse Audio Controls bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 1 +5% #increase sound volume bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 1 -5% #decrease sound volume bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 1 toggle # mute sound # Sound Device Control bindsym $mod+Control+a exec pavucontrol bindsym $mod+Control+b exec blueman-manager # Fast calculator bindsym $mod+c exec rofi -theme solarized -font "ubuntu mono 16" -show calc -modi "calc:qalc +u8 -nocurrencies" ################################################################################ # Session Management # Reload Config bindsym $mod+Shift+c reload # Restart i3 In Place bindsym $mod+Shift+r restart # Lock Screen #exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer normal 30 ~/Applications/lock_then_off.sh #bindsym $mod+Control+Mod1+Shift+l exec ~/Applications/lock_then_off.sh bindsym $mod+Control+Mod1+Shift+l exec i3lock # Logout bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # Shutdown bindsym $mod+Ctrl+Mod1+Shift+p exec "i3-nagbar -t warning -m 'Really Shutdown?' -b 'Yes' 'systemctl poweroff -i'" ################################################################################ # toggle fullscreen bindsym $mod+f fullscreen toggle # Picture-in-Picture bindsym $mod+p exec "i3-msg 'floating toggle; sticky toggle; resize shrink width 10000px; resize grow width 200px; resize shrink height 10000px; resize grow height 250px; move position 6950px 1750px;'" # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+t layout tabbed bindsym $mod+e layout toggle split # toggle floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # resize mode mode "resize" { #bindsym j resize shrink width 10 px or 10 ppt #bindsym k resize grow height 10 px or 10 ppt #bindsym l resize shrink height 10 px or 10 ppt #bindsym semicolon resize grow width 10 px or 10 ppt bindsym h resize shrink width 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt bindsym l resize grow width 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" bindsym Control+[ mode "default" } bindsym $mod+r mode "resize" ################################################################################ # Terminal bindsym $mod+Return exec i3-sensible-terminal # Exit Current Window bindsym $mod+Shift+q kill # Run a Program #bindsym $mod+d exec dmenu_run bindsym $mod+d exec rofi -combi-modi run#window#ssh -theme solarized -font "ubuntu mono 10" -show combi # Cycle Through Windows #bindsym $mod+j focus left #bindsym $mod+k focus down #bindsym $mod+l focus up #bindsym $mod+semicolon focus right bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right # Move Current Window #bindsym $mod+Shift+j move left #bindsym $mod+Shift+k move down #bindsym $mod+Shift+l move up #bindsym $mod+Shift+semicolon move right bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # Horizontal Split # bindsym $mod+h split h bindsym $mod+b split h # Vertical Split bindsym $mod+v split v # switch to workspace bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 bindsym $mod+3 workspace 3 bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 bindsym $mod+Ctrl+1 workspace 11 bindsym $mod+Ctrl+2 workspace 12 bindsym $mod+Ctrl+3 workspace 13 bindsym $mod+Ctrl+4 workspace 14 bindsym $mod+Ctrl+5 workspace 15 bindsym $mod+Ctrl+6 workspace 16 bindsym $mod+Ctrl+7 workspace 17 bindsym $mod+Ctrl+8 workspace 18 bindsym $mod+Ctrl+9 workspace 19 bindsym $mod+Ctrl+0 workspace 20 bindsym $mod+mod1+Ctrl+1 workspace 21 bindsym $mod+mod1+Ctrl+2 workspace 22 bindsym $mod+mod1+Ctrl+3 workspace 23 bindsym $mod+mod1+Ctrl+4 workspace 24 bindsym $mod+mod1+Ctrl+5 workspace 25 bindsym $mod+mod1+Ctrl+6 workspace 26 bindsym $mod+mod1+Ctrl+7 workspace 27 bindsym $mod+mod1+Ctrl+8 workspace 28 bindsym $mod+mod1+Ctrl+9 workspace 29 bindsym $mod+mod1+Ctrl+0 workspace 30 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 bindsym $mod+Shift+2 move container to workspace 2 bindsym $mod+Shift+3 move container to workspace 3 bindsym $mod+Shift+4 move container to workspace 4 bindsym $mod+Shift+5 move container to workspace 5 bindsym $mod+Shift+6 move container to workspace 6 bindsym $mod+Shift+7 move container to workspace 7 bindsym $mod+Shift+8 move container to workspace 8 bindsym $mod+Shift+9 move container to workspace 9 bindsym $mod+Shift+0 move container to workspace 10 bindsym $mod+Ctrl+Shift+1 move container to workspace 11 bindsym $mod+Ctrl+Shift+2 move container to workspace 12 bindsym $mod+Ctrl+Shift+3 move container to workspace 13 bindsym $mod+Ctrl+Shift+4 move container to workspace 14 bindsym $mod+Ctrl+Shift+5 move container to workspace 15 bindsym $mod+Ctrl+Shift+6 move container to workspace 16 bindsym $mod+Ctrl+Shift+7 move container to workspace 17 bindsym $mod+Ctrl+Shift+8 move container to workspace 18 bindsym $mod+Ctrl+Shift+9 move container to workspace 19 bindsym $mod+Ctrl+Shift+0 move container to workspace 20 bindsym $mod+mod1+Ctrl+Shift+1 move container to workspace 21 bindsym $mod+mod1+Ctrl+Shift+2 move container to workspace 22 bindsym $mod+mod1+Ctrl+Shift+3 move container to workspace 23 bindsym $mod+mod1+Ctrl+Shift+4 move container to workspace 24 bindsym $mod+mod1+Ctrl+Shift+5 move container to workspace 25 bindsym $mod+mod1+Ctrl+Shift+6 move container to workspace 26 bindsym $mod+mod1+Ctrl+Shift+7 move container to workspace 27 bindsym $mod+mod1+Ctrl+Shift+8 move container to workspace 28 bindsym $mod+mod1+Ctrl+Shift+9 move container to workspace 29 bindsym $mod+mod1+Ctrl+Shift+0 move container to workspace 30 ################################################################################ # Other # Workspace Movement #bindsym $mod+Control+Shift+j move workspace to output left #bindsym $mod+Control+Shift+semicolon move workspace to output right bindsym $mod+Control+Shift+h move workspace to output left bindsym $mod+Control+Shift+l move workspace to output right # Cycle Through Workspaces #bindsym $mod+Ctrl+j focus workspace prevonoutput #bindsym $mod+Ctrl+semicolon focus workspace nextonoutput bindsym $mod+Ctrl+h focus workspace prevonoutput bindsym $mod+Ctrl+l focus workspace nextonoutput # Custom Workspace Names bindsym $mod+Control+r exec i3-input -F 'rename workspace to "%s"' -P 'Rename workspace to: ' bindsym $mod+Control+s exec i3-input -F 'workspace "%s"' -P 'Switch to workspace: ' bindsym $mod+Control+Shift+s exec i3-input -F 'move container to workspace "%s"' -P 'Move to workspace: ' # Move Windows through cycle bindsym $mod+Ctrl+Shift+Left move container to workspace prevonoutput bindsym $mod+Ctrl+Shift+Right move container to workspace nextonoutput ''; }; }