From b98e1e5dd706f3ba93fad05f9b741e4c43dd9f31 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Wed, 23 Nov 2022 14:34:46 +0100 Subject: [PATCH] chore: some restructuring of desktops --- TODO.md | 3 - desktops/anubis/boot.nix | 12 +-- desktops/anubis/filesystems.nix | 15 --- desktops/anubis/partitions.sh | 12 +-- desktops/chnum/partitions.sh | 2 +- desktops/osiris/partitions.sh | 2 +- flake.lock | 30 +++--- profiles/programs/default.nix | 2 +- .../{thunderbird.nix => mailspring.nix} | 8 +- profiles/services/mopidy.nix | 6 ++ profiles/thomas/default.nix | 4 +- profiles/thomas/desktop/gnome.nix | 92 ++++++++++++++++++- profiles/thomas/desktop/i3.nix | 4 +- 13 files changed, 127 insertions(+), 65 deletions(-) rename profiles/programs/{thunderbird.nix => mailspring.nix} (63%) diff --git a/TODO.md b/TODO.md index a39564a..6fa19bc 100644 --- a/TODO.md +++ b/TODO.md @@ -4,11 +4,8 @@ * clickup (package https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-appimageTools) * curseforge (package) -* mail (thunderbird / mailspring / prospect-mail) * assign windows to right desktop * autostart standard tools on desktops -* ymuse for mpd -* gnome with https://gvolpe.com/blog/gnome3-on-nixos/ ## server diff --git a/desktops/anubis/boot.nix b/desktops/anubis/boot.nix index 528acea..4445b3c 100644 --- a/desktops/anubis/boot.nix +++ b/desktops/anubis/boot.nix @@ -16,21 +16,19 @@ canTouchEfiVariables = true; }; - grub = { + systemd-boot = { enable = true; - version = 2; - device = "nodev"; - efiSupport = true; + consoleMode = "2"; + configurationLimit = 5; + editor = false; }; }; - # kernelParams = [ "intel_pstate=no_hwp" ]; - kernelModules = [ ]; extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; initrd = { - availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "acpi_call" "cryptd" ]; + availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "acpi_call" ]; kernelModules = [ "dm-snapshot" ]; }; }; diff --git a/desktops/anubis/filesystems.nix b/desktops/anubis/filesystems.nix index 36497f0..97ea542 100644 --- a/desktops/anubis/filesystems.nix +++ b/desktops/anubis/filesystems.nix @@ -1,21 +1,6 @@ { config, lib, pkgs, ... }: { - boot = { - initrd = { - luks = { - devices = { - luks = { - name = "luks"; - device = "/dev/disk/by-partlabel/system"; - preLVM = true; - allowDiscards = true; - }; - }; - }; - }; - }; - swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; diff --git a/desktops/anubis/partitions.sh b/desktops/anubis/partitions.sh index c54f5f7..eae73f6 100755 --- a/desktops/anubis/partitions.sh +++ b/desktops/anubis/partitions.sh @@ -61,17 +61,11 @@ echo "-----> Wait for partitions" sleep 3 sync -echo "-----> Format encrypted container" -cryptsetup luksFormat /dev/disk/by-partlabel/system - -echo "-----> Open encrypted container" -cryptsetup luksOpen /dev/disk/by-partlabel/system crypted - echo "-----> Create data pv" -pvcreate /dev/mapper/crypted +pvcreate /dev/disk/by-partlabel/system echo "-----> Create data vg" -vgcreate system /dev/mapper/crypted +vgcreate system /dev/disk/by-partlabel/system echo "-----> Create swap volume" lvcreate -y --size $(cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | sed 's/ //g') --name swap system @@ -80,7 +74,7 @@ echo "-----> Create root volume" lvcreate -y --size 20G --name root system echo "-----> Create nix volume" -lvcreate -y --size 50G --name nix system +lvcreate -y --size 100G --name nix system echo "-----> Create home volume" lvcreate -y --size 50G --name home system diff --git a/desktops/chnum/partitions.sh b/desktops/chnum/partitions.sh index 48ac19b..a9b70ed 100755 --- a/desktops/chnum/partitions.sh +++ b/desktops/chnum/partitions.sh @@ -74,7 +74,7 @@ echo "-----> Create root volume" lvcreate -y --size 20G --name root system echo "-----> Create nix volume" -lvcreate -y --size 50G --name nix system +lvcreate -y --size 100G --name nix system echo "-----> Create home volume" lvcreate -y --size 50G --name home system diff --git a/desktops/osiris/partitions.sh b/desktops/osiris/partitions.sh index 48ac19b..a9b70ed 100755 --- a/desktops/osiris/partitions.sh +++ b/desktops/osiris/partitions.sh @@ -74,7 +74,7 @@ echo "-----> Create root volume" lvcreate -y --size 20G --name root system echo "-----> Create nix volume" -lvcreate -y --size 50G --name nix system +lvcreate -y --size 100G --name nix system echo "-----> Create home volume" lvcreate -y --size 50G --name home system diff --git a/flake.lock b/flake.lock index 5d2dec4..0f2f3f3 100644 --- a/flake.lock +++ b/flake.lock @@ -49,11 +49,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1659725433, - "narHash": "sha256-1ZxuK67TL29YLw88vQ18Y2Y6iYg8Jb7I6/HVzmNB6nM=", + "lastModified": 1668797197, + "narHash": "sha256-0w6iD3GSSQbIeSFVDzAAQZB+hDq670ZTms3d9XI+BtM=", "owner": "serokell", "repo": "deploy-rs", - "rev": "41f15759dd8b638e7b4f299730d94d5aa46ab7eb", + "rev": "2a3c5f70eee04a465aa534d8bd4fcc9bb3c4a8ce", "type": "github" }, "original": { @@ -80,11 +80,11 @@ }, "hardware": { "locked": { - "lastModified": 1667768008, - "narHash": "sha256-PGbX0s2hhXGnZDFVE6UIhPSOf5YegpWs5dUXpT/14F0=", + "lastModified": 1669146234, + "narHash": "sha256-HEby7EG1yaq1oT2Ze6Cvok9CFju1XHkSvVHmkptLW9U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "f6483e0def85efb9c1e884efbaff45a5e7aabb34", + "rev": "0099253ad0b5283f06ffe31cf010af3f9ad7837d", "type": "github" }, "original": { @@ -101,11 +101,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1667708081, - "narHash": "sha256-FChEy05x4ed/pttjfTeKxjPCnHknMYrUtDyBiYbreT4=", + "lastModified": 1669071065, + "narHash": "sha256-KBpgj3JkvlPsJ3duOZqFJe6tgr+wc75t8sFmgRbBSbw=", "owner": "nix-community", "repo": "home-manager", - "rev": "1ef0da321217c6c19b7a30509631c080a19321e5", + "rev": "f7641a3ff398ccce952e19a199d775934e518c1d", "type": "github" }, "original": { @@ -116,11 +116,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1667629849, - "narHash": "sha256-P+v+nDOFWicM4wziFK9S/ajF2lc0N2Rg9p6Y35uMoZI=", + "lastModified": 1669052418, + "narHash": "sha256-M1I4BKXBQm2gey1tScemEh5TpHHE3gKptL7BpWUvL8s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3bacde6273b09a21a8ccfba15586fb165078fb62", + "rev": "20fc948445a6c22d4e8d5178e9a6bc6e1f5417c8", "type": "github" }, "original": { @@ -132,11 +132,11 @@ }, "nur": { "locked": { - "lastModified": 1668038359, - "narHash": "sha256-xsEG4/ZoUpG7VWymXgRD2MAN0nkKneeD84f4RUpsNic=", + "lastModified": 1669182177, + "narHash": "sha256-U3Bp+pZN58lEqlk1hoTyCGUckFpZfXW2b14p1NGymyY=", "owner": "nix-community", "repo": "NUR", - "rev": "71dadb246555d9acab72a953cdb051dcbd926464", + "rev": "6ccbe180fc646a7672cede9fa008fd30d744d0c8", "type": "github" }, "original": { diff --git a/profiles/programs/default.nix b/profiles/programs/default.nix index a500969..ee54c3c 100644 --- a/profiles/programs/default.nix +++ b/profiles/programs/default.nix @@ -19,6 +19,7 @@ ./lens.nix ./lsd.nix ./lutris.nix + ./mailspring.nix ./mattermost.nix ./minecraft.nix ./neovim.nix @@ -33,7 +34,6 @@ ./steam.nix ./teams.nix ./telegram.nix - ./thunderbird.nix ./tmux.nix ./whatsapp.nix ./wine.nix diff --git a/profiles/programs/thunderbird.nix b/profiles/programs/mailspring.nix similarity index 63% rename from profiles/programs/thunderbird.nix rename to profiles/programs/mailspring.nix index 3264bb4..3881aa7 100644 --- a/profiles/programs/thunderbird.nix +++ b/profiles/programs/mailspring.nix @@ -2,15 +2,15 @@ with lib; let - cfg = config.profile.programs.thunderbird; + cfg = config.profile.programs.mailspring; in { options = { profile = { programs = { - thunderbird = { - enable = mkEnableOption "Thunderbird"; + mailspring = { + enable = mkEnableOption "Mailspring"; }; }; }; @@ -19,7 +19,7 @@ in config = mkIf cfg.enable { environment = { systemPackages = with pkgs; [ - thunderbird-bin + mailspring ]; }; }; diff --git a/profiles/services/mopidy.nix b/profiles/services/mopidy.nix index 43bc9ff..5274a7b 100644 --- a/profiles/services/mopidy.nix +++ b/profiles/services/mopidy.nix @@ -17,6 +17,12 @@ in }; config = mkIf cfg.enable { + environment = { + systemPackages = with pkgs; [ + ymuse + ]; + }; + home-manager.users."${config.profile.username}" = { config, ... }: { programs = { ncmpcpp = { diff --git a/profiles/thomas/default.nix b/profiles/thomas/default.nix index 0ace93f..e7732a7 100644 --- a/profiles/thomas/default.nix +++ b/profiles/thomas/default.nix @@ -71,7 +71,7 @@ in lutris = { enable = desktop; }; - thunderbird = { + mailspring = { enable = desktop; }; mattermost = { @@ -235,7 +235,7 @@ in }; } else { }); - stateVersion = "18.09"; + stateVersion = "22.11"; }; }; diff --git a/profiles/thomas/desktop/gnome.nix b/profiles/thomas/desktop/gnome.nix index 49ae6c2..336130e 100644 --- a/profiles/thomas/desktop/gnome.nix +++ b/profiles/thomas/desktop/gnome.nix @@ -1,5 +1,6 @@ -{ pkgs, lib, config, options, ... }: +{ pkgs, lib, config, options, inputs, ... }: with lib; +with inputs.homemanager.lib.hm.gvariant; let cfg = config.profile.desktop.gnome; @@ -77,22 +78,103 @@ in gnomeExtensions.calc gnomeExtensions.clipman - gnomeExtensions.ddterm - gnomeExtensions.docker gnomeExtensions.espresso gnomeExtensions.gsnap gnomeExtensions.gtile gnomeExtensions.keyman gnomeExtensions.vitals - gnomeExtensions.weather - gnomeExtensions.zilence ]; gnome = { excludePackages = with pkgs; [ gnome-tour + + gnomeExtensions.applications-menu + gnomeExtensions.launch-new-instance + gnomeExtensions.places-status-indicator + gnomeExtensions.screenshot-window-sizer + gnomeExtensions.user-themes + gnomeExtensions.weather + gnomeExtensions.window-list + gnomeExtensions.workspace-indicator ]; }; }; + + home-manager.users."${config.profile.username}" = { config, ... }: { + dconf = { + settings = { + "org/gnome/desktop/calendar" = { + show-weekdate = true; + }; + + "org/gnome/desktop/input-sources" = { + sources = [ (mkTuple [ "xkb" "de" ]) ]; + xkb-options = [ "eurosign:e" ]; + }; + + "org/gnome/desktop/interface" = { + clock-show-weekday = true; + show-battery-percentage = true; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = "appmenu:minimize,maximize,close"; + }; + + "org/gnome/login-screen" = { + disable-user-list = true; + }; + + "org/gnome/mutter" = { + attach-modal-dialogs = true; + dynamic-workspaces = true; + edge-tiling = true; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; + }; + + "org/gnome/shell" = { + enabled-extensions = [ + "auto-move-windows@gnome-shell-extensions.gcampax.github.com" + "calc@danigm.wadobo.com" + "clipman@popov895.ukr.net" + "drive-menu@gnome-shell-extensions.gcampax.github.com" + "espresso@coadmunkee.github.com" + "gSnap@micahosborne" + "gTile@vibou" + "keyman@dpoetzsch.github.com" + "native-window-placement@gnome-shell-extensions.gcampax.github.com" + "Vitals@CoreCoding.com" + "windowsNavigator@gnome-shell-extensions.gcampax.github.com" + ]; + }; + + "org/gnome/shell/extensions/espresso" = { + has-battery = true; + }; + + "org/gnome/shell/extensions/vitals" = { + show-fan = true; + show-storage = false; + show-temperature = true; + show-voltage = true; + }; + + "org/gnome/tweaks" = { + show-extensions-notice = false; + }; + + "system/locale" = { + region = "de_DE.UTF-8"; + }; + }; + }; + }; }; } diff --git a/profiles/thomas/desktop/i3.nix b/profiles/thomas/desktop/i3.nix index 5ffa234..b4dd9db 100644 --- a/profiles/thomas/desktop/i3.nix +++ b/profiles/thomas/desktop/i3.nix @@ -30,8 +30,8 @@ let mail = [ { - exec = "thunderbird"; - class = "thunderbird"; + exec = "mailspring"; + class = "mailspring"; } ];