From d05bf45a1399e8506116b870c772cf8442a1e9b3 Mon Sep 17 00:00:00 2001 From: joshuaelm Date: Thu, 26 Sep 2024 15:49:21 -0500 Subject: [PATCH] just some more modifications --- configuration.nix | 30 ++- flake.lock | 294 +++++++++++++++--------------- flake.nix | 3 +- hardware-configuration.nix | 11 +- home.nix | 1 + modules/cosmic/cosmic-greeter.nix | 52 ------ modules/cosmic/cosmic.nix | 84 --------- 7 files changed, 178 insertions(+), 297 deletions(-) delete mode 100644 modules/cosmic/cosmic-greeter.nix delete mode 100644 modules/cosmic/cosmic.nix diff --git a/configuration.nix b/configuration.nix index 48e25f4..85e7ea9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -37,6 +37,8 @@ amdvlk ]; + environment.variables.AMD_VULKAN_ICD = "RADV"; + # Set your time zone. time.timeZone = "America/Chicago"; environment.sessionVariables.NIXOS_OZONE_WL = "1"; @@ -64,10 +66,10 @@ }; # Enable the GNOME Desktop Environment. - services.xserver.desktopManager.plasma6.enable = true; + programs.hyprland.enable = false; + services.desktopManager.plasma6.enable = true; services.displayManager.cosmic-greeter.enable = true; services.desktopManager.cosmic.enable = true; - # services.xserver.displayManager.cosmic-greeter.enable = true; # Configure keymap in X11 services.xserver = { layout = "us"; @@ -80,7 +82,6 @@ services.printing.enable = true; # Enable sound with pipewire. - sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { @@ -105,7 +106,6 @@ description = "Joshua Elmasri"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ - vivaldi # thunderbird ]; }; @@ -113,6 +113,18 @@ # Allow unfree packages nixpkgs.config.allowUnfree = true; + # Configure drives + + fileSystems."/mnt/Games" = { + device = "/dev/nvme0n1p1"; + fsType = "btrfs"; + options = [ + "users" + "nofail" + "x-gvfs-show" + "exec" + ]; + }; # Fonts fonts.packages = with pkgs; [ @@ -133,6 +145,7 @@ dunst just steamtinkerlaunch + lunar-client cargo kdePackages.kalk kdePackages.kdenlive @@ -140,18 +153,23 @@ ntfs3g (callPackage ./pkgs/warp {}) lapce + prismlauncher + modrinth-app kdePackages.elisa glaxnimate + librewolf mlt qt5.full dconf - libsForQt5.polonium sublime-music spacedrive openjdk + protontricks gamescope playerctl + libsForQt5.qt5.qtwebsockets wine + alvr bottles cava pop-icon-theme @@ -200,10 +218,8 @@ # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.11"; # Did you read the comment? - # Enable lakes nix = { - package = pkgs.nixUnstable; extraOptions = '' experimental-features = nix-command flakes ''; diff --git a/flake.lock b/flake.lock index 617c6fb..bb82ade 100644 --- a/flake.lock +++ b/flake.lock @@ -2,18 +2,17 @@ "nodes": { "devshell": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1710156081, - "narHash": "sha256-4PMY6aumJi5dLFjBzF5O4flKXmadMNq3AGUHKYfchh0=", + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "owner": "numtide", "repo": "devshell", - "rev": "bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "type": "github" }, "original": { @@ -25,11 +24,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1688025799, - "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", "owner": "nix-community", "repo": "flake-compat", - "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", "type": "github" }, "original": { @@ -52,45 +51,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nixos-cosmic", - "nix-update", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -98,11 +59,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "type": "github" }, "original": { @@ -116,11 +77,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -129,21 +90,33 @@ "type": "github" } }, - "flake-utils_2": { + "git-hooks": { "inputs": { - "systems": "systems_2" + "flake-compat": [ + "nixvim", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim", + "nixpkgs" + ] }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "lastModified": 1726745158, + "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, @@ -151,7 +124,7 @@ "inputs": { "nixpkgs": [ "nixvim", - "pre-commit-hooks", + "git-hooks", "nixpkgs" ] }, @@ -176,11 +149,11 @@ ] }, "locked": { - "lastModified": 1710974515, - "narHash": "sha256-jZpdsypecYTOO9l12Vy77otGmh9uz8tGzcguifA30Vs=", + "lastModified": 1727381010, + "narHash": "sha256-2PqUwnZXjYiPUm5A4d8Z31mvLS4lvUeV/9gUhSMmNR4=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2acec99933f9835cc7ad47e35303de92d923a4", + "rev": "853e7bd24f875bac2e3a0cf72f993e917d0f8cf5", "type": "github" }, "original": { @@ -197,11 +170,11 @@ ] }, "locked": { - "lastModified": 1710820906, - "narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=", + "lastModified": 1727346017, + "narHash": "sha256-z7OCFXXxIseJhEHiCkkUOkYxD9jtLU8Kf5Q9WC0SjJ8=", "owner": "nix-community", "repo": "home-manager", - "rev": "022464438a85450abb23d93b91aa82e0addd71fb", + "rev": "c124568e1054a62c20fbe036155cc99237633327", "type": "github" }, "original": { @@ -212,11 +185,11 @@ }, "master": { "locked": { - "lastModified": 1711042203, - "narHash": "sha256-b5QKC84by59cvBKS92iBNcvHmsXD7+T6bkKxUOVg6no=", + "lastModified": 1727383661, + "narHash": "sha256-VAr5tdAx2SPNnGSrfutaaXfcaHTcTDG6TNWSVHgsghY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c2684b4d2d650dce7923a7e5d44ad7b8fa44aefd", + "rev": "029effe15e81058f0284a8afa9dea7d08721f2b7", "type": "github" }, "original": { @@ -234,11 +207,11 @@ ] }, "locked": { - "lastModified": 1710717205, - "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", + "lastModified": 1727003835, + "narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", + "rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d", "type": "github" }, "original": { @@ -247,44 +220,21 @@ "type": "github" } }, - "nix-update": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixos-cosmic", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1709726721, - "narHash": "sha256-N0KdNvaWZF2Wn/sQgIpXzXYaYiSQcVxi7P3H/uoSkcg=", - "owner": "lilyinstarlight", - "repo": "nix-update", - "rev": "816d30da62f6a04fcbde8312246204920f73e7ae", - "type": "github" - }, - "original": { - "owner": "lilyinstarlight", - "ref": "tmp/fixed", - "repo": "nix-update", - "type": "github" - } - }, "nixos-cosmic": { "inputs": { "flake-compat": "flake-compat", - "nix-update": "nix-update", "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable", + "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1710982899, - "narHash": "sha256-W/uU62m9oVSizVwQJrQoHeXEv12xs4gk0CbXaizXVoA=", + "lastModified": 1727355852, + "narHash": "sha256-xA2cl4oz59Haqa8xAGCd2vD2JWkYUpRUlnO4GTDfITU=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "00423f29206fcaded8296d87320b454166601da9", + "rev": "80d55e1bb531f10d2f6ccc5f6686f6b0570f654e", "type": "github" }, "original": { @@ -295,11 +245,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "lastModified": 1727122398, + "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093", "type": "github" }, "original": { @@ -308,24 +258,58 @@ "type": "indirect" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1727129439, + "narHash": "sha256-nPyrcFm6FSk7CxzVW4x2hu62aLDghNcv9dX6DF3dXw8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "babc25a577c3310cce57c72d5bed70f4c3c3843a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "devshell": "devshell", "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" ], - "pre-commit-hooks": "pre-commit-hooks" + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1710936779, - "narHash": "sha256-ecYnUzSWqRae10pp7J6ZE2BznTPJ9f8sLiIoDBQtRBw=", + "lastModified": 1727366999, + "narHash": "sha256-IGzvFj3RDBkLF92pF4txAon7kJTQMhmR/HTKViKhys8=", "owner": "nix-community", "repo": "nixvim", - "rev": "4f6e90212c7ec56d7c03611fb86befa313e7f61f", + "rev": "2ea7009e61ea02e08e480c94c06e71e640a59132", "type": "github" }, "original": { @@ -334,31 +318,25 @@ "type": "github" } }, - "pre-commit-hooks": { + "nuschtosSearch": { "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", - "gitignore": "gitignore", + "flake-utils": "flake-utils", "nixpkgs": [ "nixvim", "nixpkgs" - ], - "nixpkgs-stable": [ - "nixvim", - "nixpkgs" ] }, "locked": { - "lastModified": 1710843117, - "narHash": "sha256-b6iKQeHegzpc697rxTPA3bpwGN3m50eLCgdQOmceFuE=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "e8dc1b4fe80c6fcededde7700e6a23bcdf7f3347", + "lastModified": 1726995581, + "narHash": "sha256-lgsE/CTkZk9OIiFGEIrxXZQ7Feiv41dqlN7pEfTdgew=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3b7dd61b365ca45380707453758a45f2e9977be3", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "NuschtOS", + "repo": "search", "type": "github" } }, @@ -368,7 +346,29 @@ "master": "master", "nixos-cosmic": "nixos-cosmic", "nixpkgs": "nixpkgs", - "nixvim": "nixvim" + "nixvim": "nixvim", + "zen-browser": "zen-browser" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixos-cosmic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1727231386, + "narHash": "sha256-XLloPtQHKk/Tdt8t8zIb+JhmunlH3YB9Jz8RTlQ3N/4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "b5f76c3b09a8194889f5328a480fbea1a9115518", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "systems": { @@ -386,35 +386,19 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ - "nixos-cosmic", - "nix-update", + "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1698438538, - "narHash": "sha256-AWxaKTDL3MtxaVTVU5lYBvSnlspOS0Fjt8GxBgnU0Do=", + "lastModified": 1727252110, + "narHash": "sha256-3O7RWiXpvqBcCl84Mvqa8dXudZ1Bol1ubNdSmQt7nF4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "5deb8dc125a9f83b65ca86cf0c8167c46593e0b1", + "rev": "1bff2ba6ec22bc90e9ad3f7e94cca0d37870afa3", "type": "github" }, "original": { @@ -422,6 +406,24 @@ "repo": "treefmt-nix", "type": "github" } + }, + "zen-browser": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1727287465, + "narHash": "sha256-XQAf5M593WmxgaXagtkci/H9DA3jSVx1TJk6F3X5VQo=", + "owner": "MarceColl", + "repo": "zen-browser-flake", + "rev": "96f1b5d80bf7360cb77c9b521f388324f18383a0", + "type": "github" + }, + "original": { + "owner": "MarceColl", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a8e3c20..78ceaec 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,7 @@ url = "github:lilyinstarlight/nixos-cosmic"; inputs.nixpkgs.follows = "nixpkgs"; }; + zen-browser.url = "github:MarceColl/zen-browser-flake"; master.url = "github:NixOS/nixpkgs/master"; home-manager.url = "github:nix-community/home-manager"; nixvim = { @@ -16,7 +17,7 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, nixos-cosmic, home-manager, master, nixvim }@inputs: + outputs = { self, nixpkgs, nixos-cosmic, home-manager, zen-browser, master, nixvim }@inputs: { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { diff --git a/hardware-configuration.nix b/hardware-configuration.nix index c71c78d..eb55931 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -14,20 +14,17 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/02f01d24-1b9e-461d-a04d-ed96956965b8"; + { device = "/dev/disk/by-uuid/f0d6eecb-87d2-44bd-b0b8-913fdd21900a"; fsType = "ext4"; }; - boot.initrd.luks.devices."luks-3ec9ede1-2243-4b13-b844-65e4d52bb8ad".device = "/dev/disk/by-uuid/3ec9ede1-2243-4b13-b844-65e4d52bb8ad"; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/635E-26F4"; + { device = "/dev/disk/by-uuid/D16C-97D4"; fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; }; - swapDevices = - [ { device = "/dev/disk/by-uuid/d6ee62ed-d698-417c-98d1-65f5c18b22c0"; } - ]; + swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/home.nix b/home.nix index 2273b6a..93f3dc2 100644 --- a/home.nix +++ b/home.nix @@ -39,6 +39,7 @@ # changes in each release. home.stateVersion = "23.11"; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; } diff --git a/modules/cosmic/cosmic-greeter.nix b/modules/cosmic/cosmic-greeter.nix deleted file mode 100644 index eef1085..0000000 --- a/modules/cosmic/cosmic-greeter.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - cfg = config.services.xserver.displayManager.cosmic-greeter; -in -{ - meta.maintainers = with lib.maintainers; [ nyanbinary ]; - - options.services.xserver.displayManager.cosmic-greeter = { - enable = lib.mkEnableOption (lib.mdDoc "COSMIC greeter"); - }; - - config = lib.mkIf cfg.enable { - services.greetd = { - enable = true; - settings = { - default_session = { - user = "cosmic-greeter"; - command = "${pkgs.coreutils}/bin/env XCURSOR_THEME=Pop systemd-cat -t cosmic-greeter ${pkgs.cosmic-comp}/bin/cosmic-comp ${pkgs.cosmic-greeter}/bin/cosmic-greeter"; - }; - }; - }; - - systemd.services.cosmic-greeter-daemon = { - wantedBy = [ "multi-user.target" ]; - before = [ "greetd.service" ]; - serviceConfig = { - ExecStart = "${pkgs.cosmic-greeter}/bin/cosmic-greeter-daemon"; - Restart = "on-failure"; - }; - }; - - systemd.tmpfiles.rules = [ - "d '/var/lib/cosmic-greeter' - cosmic-greeter cosmic-greeter - -" - ]; - - users.users.cosmic-greeter = { - isSystemUser = true; - home = "/var/lib/cosmic-greeter"; - group = "cosmic-greeter"; - }; - - users.groups.cosmic-greeter = { }; - - hardware.opengl.enable = true; - services.xserver.libinput.enable = true; - - security.pam.services.cosmic-greeter = {}; - - services.dbus.packages = with pkgs; [ cosmic-greeter ]; - }; -} diff --git a/modules/cosmic/cosmic.nix b/modules/cosmic/cosmic.nix deleted file mode 100644 index 16186b1..0000000 --- a/modules/cosmic/cosmic.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - cfg = config.services.xserver.desktopManager.cosmic; -in -{ - meta.maintainers = with lib.maintainers; [ nyanbinary ]; - - options.services.xserver.desktopManager.cosmic = { - enable = lib.mkEnableOption (lib.mdDoc "COSMIC desktop environment"); - }; - - config = lib.mkIf cfg.enable { - # seed configuration in nixos-generate-config - system.nixos-generate-config.desktopConfiguration = ['' - # Enable the COSMIC Desktop Environment. - services.xserver.displayManager.cosmic-greeter.enable = true; - services.xserver.desktopManager.cosmic.enable = true; - '']; - - # environment packages - environment.pathsToLink = [ "/share/cosmic" ]; - environment.systemPackages = with pkgs; [ - gnome.adwaita-icon-theme - cosmic-applibrary - cosmic-applets - cosmic-bg - cosmic-comp - cosmic-edit - cosmic-files - cosmic-greeter - cosmic-icons - cosmic-launcher - cosmic-notifications - cosmic-osd - cosmic-panel - cosmic-randr - cosmic-screenshot - cosmic-session - cosmic-settings - cosmic-settings-daemon - cosmic-term - cosmic-workspaces-epoch - hicolor-icon-theme - pop-icon-theme - pop-launcher - ]; - - # xdg portal packages and config - xdg.portal = { - enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-cosmic - xdg-desktop-portal-gtk - ]; - configPackages = with pkgs; [ - xdg-desktop-portal-cosmic - ]; - }; - - # fonts - fonts.packages = with pkgs; [ - fira-mono - ]; - - # required features - hardware.opengl.enable = true; - services.xserver.libinput.enable = true; - - # optional features - hardware.pulseaudio.enable = lib.mkDefault true; - - # required dbus services - services.upower.enable = true; - security.polkit.enable = true; - - # session packages - services.xserver.displayManager.sessionPackages = with pkgs; [ cosmic-session ]; - systemd.packages = with pkgs; [ cosmic-session ]; - - # required for screen locker - security.pam.services.cosmic-greeter = {}; - }; -}