From 7f64d4905255bffeff5ac37107b7bd1dbb74702f Mon Sep 17 00:00:00 2001 From: William Date: Fri, 10 Oct 2025 09:41:12 -0300 Subject: [PATCH] niri + dms; WIP --- flake.lock | 348 ++++++--------------------- flake.nix | 18 +- hosts/modules/default.nix | 1 - hosts/modules/desktop.nix | 26 +- hosts/modules/programs.nix | 15 +- hosts/modules/rotterdam/hardware.nix | 5 +- users/modules/programs.nix | 9 +- users/modules/user/programs.nix | 14 ++ users/user.nix | 3 +- 9 files changed, 122 insertions(+), 317 deletions(-) diff --git a/flake.lock b/flake.lock index c6fc6db..10e0544 100644 --- a/flake.lock +++ b/flake.lock @@ -23,73 +23,6 @@ "type": "github" } }, - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, - "locked": { - "lastModified": 1755819240, - "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, - "base16-fish": { - "flake": false, - "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", - "type": "github" - }, - "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1752979451, - "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1732806396, - "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -112,6 +45,27 @@ "type": "github" } }, + "dgop": { + "inputs": { + "nixpkgs": [ + "dms", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760238269, + "narHash": "sha256-7CeGZM/Z/5Qt3AYByCRohGYGR1MRuXYzTTbkV/JxyAs=", + "owner": "AvengeMedia", + "repo": "dgop", + "rev": "95acdfce2d323e28fa8f5a4f345160962034f2b5", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "dgop", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -133,19 +87,47 @@ "type": "github" } }, - "firefox-gnome-theme": { - "flake": false, + "dms": { + "inputs": { + "dgop": "dgop", + "dms-cli": "dms-cli", + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell" + }, "locked": { - "lastModified": 1758112371, - "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", + "lastModified": 1760401338, + "narHash": "sha256-aN4qiI9R4ByEucFE/zvJFF8Y456nDe1IXCKu0hvEP+U=", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "rev": "07fe2ca4072eb987c8090f388d4979f5006cef52", "type": "github" }, "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "type": "github" + } + }, + "dms-cli": { + "inputs": { + "nixpkgs": [ + "dms", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760241259, + "narHash": "sha256-DlLGn+4M6tIafoDsHr2WhHG2hrHrC24S2IL3+KAvjEU=", + "owner": "AvengeMedia", + "repo": "danklinux", + "rev": "dae4c3ff4ce0feb930361c399747edb29d081775", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "danklinux", "type": "github" } }, @@ -165,27 +147,6 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -204,39 +165,6 @@ "type": "github" } }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "48.2", - "repo": "gnome-shell", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -436,43 +364,39 @@ "type": "github" } }, - "nur": { + "quickshell": { "inputs": { - "flake-parts": [ - "stylix", - "flake-parts" - ], "nixpkgs": [ - "stylix", + "dms", "nixpkgs" ] }, "locked": { - "lastModified": 1758998580, - "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", - "owner": "nix-community", - "repo": "NUR", - "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", - "type": "github" + "lastModified": 1760228179, + "narHash": "sha256-4Z6k7lv3Zcgk3K+4h60LpqB9wCkR+utkYERU735U068=", + "ref": "refs/heads/master", + "rev": "c9d3ffb6043c5bf3f3009202bad7e0e5132c4a25", + "revCount": 693, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" }, "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" } }, "root": { "inputs": { "agenix": "agenix", "disko": "disko", + "dms": "dms", "home-manager": "home-manager_2", "home-manager-stable": "home-manager-stable", "impermanence": "impermanence", "nix-flatpak": "nix-flatpak", "nixos-cli": "nixos-cli", "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable", - "stylix": "stylix" + "nixpkgs-stable": "nixpkgs-stable" } }, "rust-overlay": { @@ -497,40 +421,6 @@ "type": "github" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-helix": "base16-helix", - "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts", - "gnome-shell": "gnome-shell", - "nixpkgs": [ - "nixpkgs" - ], - "nur": "nur", - "systems": "systems_3", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-schemes": "tinted-schemes", - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" - }, - "locked": { - "lastModified": 1759690047, - "narHash": "sha256-Vlpa0d1xOgPO9waHwxJNi6LcD2PYqB3EjwLRtSxXlHc=", - "owner": "danth", - "repo": "stylix", - "rev": "09022804b2bcd217f3a41a644d26b23d30375d12", - "type": "github" - }, - "original": { - "owner": "danth", - "repo": "stylix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -560,102 +450,6 @@ "repo": "default", "type": "github" } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, - "tinted-kitty": { - "flake": false, - "locked": { - "lastModified": 1735730497, - "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "type": "github" - } - }, - "tinted-schemes": { - "flake": false, - "locked": { - "lastModified": 1757716333, - "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", - "owner": "tinted-theming", - "repo": "schemes", - "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "schemes", - "type": "github" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1757811970, - "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1757811247, - "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9b13d69..234a747 100644 --- a/flake.nix +++ b/flake.nix @@ -14,11 +14,6 @@ inputs.nixpkgs.follows = "nixpkgs-stable"; }; - stylix = { - url = "github:danth/stylix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs-stable"; @@ -29,6 +24,11 @@ inputs.nixpkgs.follows = "nixpkgs-stable"; }; + dms = { + url = "github:AvengeMedia/DankMaterialShell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixos-cli.url = "github:nix-community/nixos-cli"; nix-flatpak.url = "github:gmodena/nix-flatpak/main"; @@ -43,8 +43,8 @@ nixpkgs-stable, home-manager, home-manager-stable, - stylix, disko, + dms, agenix, nixos-cli, nix-flatpak, @@ -88,10 +88,10 @@ ./hosts/${hostname}.nix agenix.nixosModules.default disko.nixosModules.default + dms.nixosModules.greeter hm.nixosModules.default impermanence.nixosModules.impermanence nix-flatpak.nixosModules.nix-flatpak - stylix.nixosModules.stylix nixos-cli.nixosModules.nixos-cli { nixpkgs.overlays = [ @@ -165,7 +165,7 @@ toggleaudiosink = pkgs.callPackage ./packages/toggleaudiosink.nix { }; } // nixpkgs.lib.optionalAttrs (system == "x86_64-linux") { - plasticity = pkgs.callPackage ./packages/plasticity.nix { }; + # plasticity = pkgs.callPackage ./packages/plasticity.nix { }; } ); @@ -173,7 +173,7 @@ overlay = final: prev: { }; workstationOverlay = final: prev: { - plasticity = self.packages.${final.system}.plasticity; + # plasticity = self.packages.${final.system}.plasticity; toggleaudiosink = self.packages.${final.system}.toggleaudiosink; }; serverOverlay = final: prev: { diff --git a/hosts/modules/default.nix b/hosts/modules/default.nix index 64c4aef..99cf017 100644 --- a/hosts/modules/default.nix +++ b/hosts/modules/default.nix @@ -13,7 +13,6 @@ ./programs.nix ./security.nix ./services.nix - ./stylix.nix ./users.nix ./virtualisation.nix ]; diff --git a/hosts/modules/desktop.nix b/hosts/modules/desktop.nix index 6002f3e..ae297e3 100644 --- a/hosts/modules/desktop.nix +++ b/hosts/modules/desktop.nix @@ -18,20 +18,6 @@ # Workstation specific configuration (lib.mkIf hostType.isWorkstation { services = { - displayManager = { - autoLogin = { - enable = true; - user = "user"; - }; - sddm = { - enable = true; - wayland = { - enable = true; - compositor = "kwin"; - }; - }; - }; - desktopManager.plasma6.enable = true; pipewire = { enable = true; alsa.enable = true; @@ -40,6 +26,18 @@ jack.enable = true; wireplumber.enable = true; }; + greetd.settings.initial_session = { + command = "niri"; + user = "user"; + }; + }; + + programs = { + dankMaterialShell.greeter = { + enable = true; + compositor.name = "niri"; + }; + niri.enable = true; }; hardware = { diff --git a/hosts/modules/programs.nix b/hosts/modules/programs.nix index ebb43fc..0252863 100644 --- a/hosts/modules/programs.nix +++ b/hosts/modules/programs.nix @@ -48,6 +48,7 @@ let kdepkgs = with pkgs.kdePackages; [ ark + dolphin dolphin-plugins kolourpaint ]; @@ -72,6 +73,7 @@ [ ### Dev Tools ### bat + claude-code lazygit fd fzf @@ -109,6 +111,7 @@ protonup ### System Utilities ### adwaita-icon-theme + colloid-gtk-theme junction kara kde-rounded-corners @@ -125,15 +128,6 @@ qview ] ++ kdepkgs; - plasma6.excludePackages = with pkgs.kdePackages; [ - discover - elisa - gwenview - kate - khelpcenter - konsole - oxygen - ]; }; programs = { @@ -163,8 +157,9 @@ packages = with pkgs; [ corefonts inter - nerd-fonts.hack + nerd-fonts.fira-code noto-fonts-cjk-sans + noto-fonts-color-emoji roboto ]; }; diff --git a/hosts/modules/rotterdam/hardware.nix b/hosts/modules/rotterdam/hardware.nix index ba7f866..6f76e99 100644 --- a/hosts/modules/rotterdam/hardware.nix +++ b/hosts/modules/rotterdam/hardware.nix @@ -2,10 +2,7 @@ { hardware = { - amdgpu = { - opencl.enable = true; - amdvlk.enable = true; - }; + amdgpu.opencl.enable = true; graphics.extraPackages = with pkgs; [ rocmPackages.clr.icd ]; }; } diff --git a/users/modules/programs.nix b/users/modules/programs.nix index c18c17f..8420dce 100644 --- a/users/modules/programs.nix +++ b/users/modules/programs.nix @@ -25,6 +25,7 @@ helix = { enable = true; settings = { + theme = "base16_transparent"; editor = { file-picker.hidden = false; idle-timeout = 0; @@ -84,7 +85,6 @@ ]; }; }; - } # Server specific configuration @@ -96,6 +96,13 @@ programs.rio = { enable = true; settings = { + theme = "catppuccin-mocha"; + fonts = { + family = "FiraCode Nerd Font"; + size = 16.0; + emoji.family = "Noto Color Emoji"; + }; + confirm-before-quit = false; window = { width = 1121; height = 633; diff --git a/users/modules/user/programs.nix b/users/modules/user/programs.nix index a024663..4cebeda 100644 --- a/users/modules/user/programs.nix +++ b/users/modules/user/programs.nix @@ -115,6 +115,10 @@ fonts.fontconfig.enable = true; programs = { + dankMaterialShell = { + enable = true; + enableVPN = false; + }; password-store.package = pkgs.pass-wayland; mangohud.enable = true; @@ -128,6 +132,16 @@ ]; }; }; + + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = with pkgs; [ + kdePackages.xdg-desktop-portal-kde + xdg-desktop-portal-gtk + xdg-desktop-portal-gnome + ]; + }; }) ]; } diff --git a/users/user.nix b/users/user.nix index 9950533..a5832cc 100644 --- a/users/user.nix +++ b/users/user.nix @@ -1,4 +1,4 @@ -{ ... }: +{ inputs, ... }: { home = { @@ -10,5 +10,6 @@ imports = [ ./modules ./modules/user + inputs.dms.homeModules.dankMaterialShell.default ]; }