diff --git a/base.nix b/base.nix index 4938aa3..24dd7e1 100644 --- a/base.nix +++ b/base.nix @@ -81,6 +81,7 @@ "https://cuda-maintainers.cachix.org" "https://ai.cachix.org" "https://cache.lix.systems" + "https://cosmic.cachix.org/" ]; trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" @@ -89,6 +90,7 @@ "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" "ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc=" "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" + "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; }; }; diff --git a/cosmic.nix b/cosmic.nix new file mode 100644 index 0000000..da41f89 --- /dev/null +++ b/cosmic.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: + +{ + services = { + gvfs.enable = true; + libinput.enable = true; + desktopManager.cosmic.enable = true; + displayManager.cosmic-greeter.enable = true; + # xserver.enable = true; + }; + qt = { + enable = true; + style = "adwaita"; + }; + users.users.jawz.packages = (with pkgs; [ + # ffmpegthumbnailer # generate thumbnails + adw-gtk3 # theme legacy applications + papirus-icon-theme # icon theme + # libgda # for pano shell extension + # gradience # theme customizer, allows you to modify adw-gtk3 themes + ]); +} diff --git a/flake.lock b/flake.lock index 459303c..94ad09f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -91,6 +107,29 @@ "type": "github" } }, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1723858482, + "narHash": "sha256-ibjVgJIcWDRr8NBHDoa0jgi/nVT7l/yQx6EJmwa5FIk=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "cb56227f6aa62646b2d77a292144c921a4b10d4f", + "type": "github" + }, + "original": { + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1723221148, @@ -120,6 +159,22 @@ } }, "nixpkgs-stable": { + "locked": { + "lastModified": 1723688146, + "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1721524707, "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", @@ -157,17 +212,39 @@ "jellyfin": "jellyfin", "master": "master", "nix-gaming": "nix-gaming", + "nixos-cosmic": "nixos-cosmic", "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix", "unstable": "unstable" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixos-cosmic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1723774846, + "narHash": "sha256-m53hVat6XXiKooV1oUDEMnPcdNKqSn/kAW+g8juSq84=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "519f4892641bc04a6ac7c2d260cc68356f9ae90f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1723501126, diff --git a/flake.nix b/flake.nix index ecc0cde..3d9f8ec 100644 --- a/flake.nix +++ b/flake.nix @@ -15,10 +15,14 @@ url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, unstable, master, jellyfin, home-manager, sops-nix - , ... }@inputs: + , nixos-cosmic, ... }@inputs: let inherit (self) outputs; lib = nixpkgs.lib // home-manager.lib; @@ -40,6 +44,7 @@ ./hosts/${name}/configuration.nix sops-nix.nixosModules.sops ({ ... }: { nixpkgs.overlays = overlays; }) + nixos-cosmic.nixosModules.default ]; }; in { diff --git a/hosts/workstation/configuration.nix b/hosts/workstation/configuration.nix index f11406b..9a7e3d7 100644 --- a/hosts/workstation/configuration.nix +++ b/hosts/workstation/configuration.nix @@ -2,7 +2,8 @@ imports = [ ./hardware-configuration.nix ../../base.nix - ../../gnome.nix + # ../../gnome.nix + ../../cosmic.nix ../../pkgs/obs-studio.nix ]; my = {