diff --git a/configs/desktop.nix b/configs/desktop.nix index c95548f..443d689 100644 --- a/configs/desktop.nix +++ b/configs/desktop.nix @@ -1,20 +1,6 @@ { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - pantheon.elementary-gtk-theme - pantheon.elementary-icon-theme - sxhkd - bspwm - polybar - lightlocker - dunst - libnotify - mojave-gtk-theme - font-manager - pulseaudio-ctl - ]; - environment.etc."polybar.conf" = { text = '' [colors] @@ -293,53 +279,9 @@ #super + shift + x # bspc wm -d > "$BSPWM_STATE" && bspc quit super + {1-9,0} - bspc desktop -f '{1-9,0}' && notify-send `bspc query -D -d --names` + bspc desktop -f '{I,II,III,IV,V,VI,VII,VIII,IX,X}' && notify-send `bspc query -D -d --names` super + shift + {1-9,0} - bspc node -d '{1-9,0}' + bspc node -d '{I,II,III,IV,V,VI,VII,VIII,IX,X}' ''; }; - - networking.networkmanager = { - enable = true; - }; - - services = { - udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; - gnome.gnome-keyring.enable = true; - xserver = { - enable = true; - displayManager = { - lightdm = { - enable = true; - background = pkgs.nixos-artwork.wallpapers.nineish-dark-gray.gnomeFilePath; - greeters.gtk.theme = { - package = pkgs.mojave-gtk-theme; - name = "Mojave-dark"; - }; - }; - defaultSession = "bspwm"; - session = [{ - manage = "desktop"; - name = "bspwm"; - start = '' - ${pkgs.sxhkd}/bin/sxhkd -c /etc/sxhkdrc & - ${pkgs.bspwm}/bin/bspwm -c /etc/bspwmrc & - ${pkgs.xfce.xfce4-session}/bin/xfce4-session - ''; - }]; - }; - - desktopManager = { - xfce = { - enable = true; - noDesktop = true; - enableXfwm = true; - }; - }; - layout = "us"; - # Enable touchpad support. - libinput.enable = true; - updateDbusEnvironment = true; - }; - }; } diff --git a/configs/gui.nix b/configs/gui.nix index a554408..43138e6 100644 --- a/configs/gui.nix +++ b/configs/gui.nix @@ -2,48 +2,109 @@ { - nixpkgs.config.allowUnfree = true; - nixpkgs.config.allowBroken = true; + nixpkgs.config = { + allowUnfree = true; + allowBroken = true; + chromium.commandLineArgs = "--enable-features=WebUIDarkMode,NativeNotifications,VaapiVideoDecoder --ignore-gpu-blocklist --use-gl=desktop --force-dark-mode --disk-cache-dir=/tmp/cache"; + }; + + networking.networkmanager = { + enable = true; + }; + environment.systemPackages = with pkgs; [ - signal-desktop - chromium - gparted - keepassxc - meld - # twemoji-color-font - mpv - brave - firefox baobab - lutris - insomnia - jellyfin-mpv-shim - kdenlive - nextcloud-client barrier + bitwarden + blueberry + brave + bspwm + chromium + cura + dunst + elementary-xfce-icon-theme + etcher + evince + firefox + font-manager + fslint + glxinfo + gnome.eog + gnome.gnome-calculator + gnome.gnome-tweaks + gparted + insomnia + jellyfin-media-player + jellyfin-mpv-shim + juno-theme + kdenlive + keepassxc + libnotify + libreoffice + lightlocker + lutris + mangohud + meld + minecraft + mojave-gtk-theme + mpv + nextcloud-client + pantheon.elementary-gtk-theme + pantheon.elementary-icon-theme + polybar + prusa-slicer + pulseaudio-ctl + signal-desktop solaar spotify - vulkan-tools - gnome.eog - virtmanager - prusa-slicer - cura - fslint - transmission-gtk - bitwarden - gnome.gnome-tweaks - juno-theme - elementary-xfce-icon-theme - libreoffice - etcher - mangohud - minecraft - jellyfin-mpv-shim - jellyfin-media-player + sxhkd teams + transmission-gtk + virtmanager + vulkan-tools ]; - programs.steam.enable = true; + programs = { + steam.enable = true; + dconf.enable = true; + ssh.startAgent = true; + chromium = { + enable = true; + extensions = [ + "cbnipbdpgcncaghphljjicfgmkonflee" # Axel Springer Blocker + "cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin + "mnjggcdmjocbbbhaepdhchncahnbgone" # SponsorBlock for YouTube + "oboonakemofpalcgghocfoadofidjkkk" # KeePassXC-Browser + "fploionmjgeclbkemipmkogoaohcdbig" # Page load time + "egnjhciaieeiiohknchakcodbpgjnchh" # Tab Wrangler + "fnaicdffflnofjppbagibeoednhnbjhg" # Floccus bookmarks + "mmpokgfcmbkfdeibafoafkiijdbfblfg" # Merge Windows + "gppongmhjkpfnbhagpmjfkannfbllamg" # Wappalyzer + "nljkibfhlpcnanjgbnlnbjecgicbjkge" # DownThemAll! + "lckanjgmijmafbedllaakclkaicjfmnk" # Clearurls + "njdfdhgcmkocbgbhcioffdbicglldapd" # LocalCDN + "jinjaccalgkegednnccohejagnlnfdag" # Violentmonkey + ]; + extraOpts = { + "BrowserSignin" = 0; + "SyncDisabled" = true; + "PasswordManagerEnabled" = false; + "AutofillAddressEnabled" = true; + "AutofillCreditCardEnabled" = false; + "BuiltInDnsClientEnabled" = false; + "MetricsReportingEnabled" = true; + "SearchSuggestEnabled" = false; + "AlternateErrorPagesEnabled" = false; + "UrlKeyedAnonymizedDataCollectionEnabled" = false; + "SpellcheckEnabled" = true; + "SpellcheckLanguage" = [ + "de" + "en-US" + ]; + "CloudPrintSubmitEnabled" = false; + }; + }; + }; fonts = { enableDefaultFonts = true; @@ -75,11 +136,7 @@ }; }; - programs.dconf.enable = true; - - # Enable CUPS to print documents. - services.printing.enable = true; - services.printing.drivers = [ pkgs.brlaser ]; + hardware.bluetooth.enable = true; nixpkgs.config.chromium.commandLineArgs = "--enable-features=WebUIDarkMode,NativeNotifications,VaapiVideoDecoder --ignore-gpu-blocklist --use-gl=desktop --force-dark-mode --disk-cache-dir=/tmp/cache"; programs.chromium = { @@ -118,4 +175,49 @@ "CloudPrintSubmitEnabled" = false; }; }; + + services = { + blueman.enable = true; + udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + gnome.gnome-keyring.enable = true; + printing = { + enable = true; + drivers = [ pkgs.brlaser ]; + }; + xserver = { + enable = true; + displayManager = { + lightdm = { + enable = true; + background = pkgs.nixos-artwork.wallpapers.nineish-dark-gray.gnomeFilePath; + greeters.gtk.theme = { + package = pkgs.mojave-gtk-theme; + name = "Mojave-dark"; + }; + }; + defaultSession = "bspwm"; + session = [{ + manage = "desktop"; + name = "bspwm"; + start = '' + ${pkgs.bspwm}/bin/bspwm -c /etc/bspwmrc & + ${pkgs.sxhkd}/bin/sxhkd -c /etc/sxhkdrc & + ${pkgs.xfce.xfce4-session}/bin/xfce4-session + ''; + }]; + }; + + desktopManager = { + xfce = { + enable = true; + noDesktop = true; + enableXfwm = true; + }; + }; + layout = "us"; + # Enable touchpad support. + libinput.enable = true; + updateDbusEnvironment = true; + }; + }; } diff --git a/configs/user-gui.nix b/configs/user-gui.nix index 2df03b3..3cd9546 100644 --- a/configs/user-gui.nix +++ b/configs/user-gui.nix @@ -178,6 +178,43 @@ }; }; }; + + nextcloud-client = { + enable = true; + startInBackground = true; + }; + + sxhkd = { + enable = true; + keybindings = { + "super + z" = "notify-send Time $(date '+%H:%M')"; + "super + x" = "notify-send Battery $(cat /sys/class/power_supply/BAT0/capacity)%"; + "alt + Tab" = "rofi -show window"; + "super + Return" = "kitty"; + "super + shift + Return" = "rofi -show drun"; + "super + Escape" = "pkill -USR1 -x sxhkd"; + "super {_,shift + }Tab" = "bspc node -f {next,prev}"; + "super + shift + c" = "bspc node -c"; + "super + a" = "bspc node @/ --flip vertical"; + "super + d" = "layer=normal; bspc query -N -n 'focused.$\{layer\}' && layer=below; bspc node -l '$layer'"; + "super + {s,f,k}" = "state={floating,fullscreen,pseudo_tiled}; bspc query -N -n 'focused.$\{state\}' && state=tiled; bspc node -t '$state'"; + "super + alt + {Left,Down,Up,Right}" = "bspc node -p {west,south,north,east}"; + "super + ctrl + {Left,Right,Up,Down}" = "xdo move {-x -50,-x +50,-y -50,-y +50}"; + "super + ctrl + alt + {Left,Right,Up,Down}" = "xdo resize {-w -50,-w +50,-h -50,-h +50}"; + "super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}"; + "super + m" = "bspc node -s biggest"; + "super + l" = "~/.bin/lock"; + "super + ctrl + space" = "bspc node -p cancel"; + "super + apostrophe" = "bspc node -s last"; + "super + ctrl + comma" = "bspc node @/ --rotate 90"; + "super + shift + comma" = "bspc node @/ --circulate forward"; + "super + {1-9,0}" = "bspc desktop -f '{I,II,III,IV,V,VI,VII,VIII,IX,X}' && notify-send `bspc query -D -d --names`"; + "super + shift + {1-9,0}" = "bspc node -d '{I,II,III,IV,V,VI,VII,VIII,IX,X}'"; + "XF86AudioMute" = "pulseaudio-ctl mute"; + "XF86AudioLowerVolume" = "pulseaudio-ctl down"; + "XF86AudioRaiseVolume" = "pulseaudio-ctl up"; + }; + }; }; # manuals not needed diff --git a/machine/desktop.nix b/machine/desktop.nix index 8072bf9..785040d 100644 --- a/machine/desktop.nix +++ b/machine/desktop.nix @@ -45,9 +45,6 @@ in # Per-interface useDHCP will be mandatory in the future, so this generated config # replicates the default behaviour. networking.useDHCP = false; - networking.networkmanager = { - enable = true; - }; console = { font = "latarcyrheb-sun32";