diff --git a/desktop/cosmic.nix b/desktop/cosmic.nix new file mode 100644 index 0000000..6a8a1c0 --- /dev/null +++ b/desktop/cosmic.nix @@ -0,0 +1,17 @@ +{ inputs, lib, ... }: + +{ + imports = [ inputs.nixos-cosmic.nixosModules.default ]; + + # TODO at the moment COSMIC cannot be used alongside Gnome + # https://github.com/lilyinstarlight/nixos-cosmic/issues/17 + specialisation = { + cosmic.configuration = { + services.xserver.displayManager.gdm.enable = lib.mkForce false; + services.xserver.desktopManager.gnome.enable = lib.mkForce false; + + services.desktopManager.cosmic.enable = true; + services.displayManager.cosmic-greeter.enable = true; + }; + }; +} diff --git a/flake.lock b/flake.lock index 2d251f8..f0cca0d 100644 --- a/flake.lock +++ b/flake.lock @@ -156,6 +156,22 @@ } }, "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -325,6 +341,27 @@ "type": "github" } }, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat_3", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716687322, + "narHash": "sha256-1s8dbw0eSSd2ygsjPsWcxhuSgXiRgj88aNGclXbhBDQ=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "13509b725c530f80a398573907cc29794183caa2", + "type": "github" + }, + "original": { + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1716715385, @@ -410,7 +447,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" @@ -443,6 +480,7 @@ "flake-utils": "flake-utils_2", "home-manager": "home-manager_2", "matrix-appservices": "matrix-appservices", + "nixos-cosmic": "nixos-cosmic", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", diff --git a/flake.nix b/flake.nix index a932467..1d0f00f 100644 --- a/flake.nix +++ b/flake.nix @@ -4,10 +4,12 @@ rec { nixConfig = { extra-substituters = [ "https://nix-community.cachix.org" + "https://cosmic.cachix.org/" "https://felschr.cachix.org" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" "felschr.cachix.org-1:raomy5XA2tsVkBoG6wo70ARIn+V24IXhWaSe3QZo12A=" ]; }; @@ -69,6 +71,11 @@ rec { flake = false; }; + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + openwrt-imagebuilder = { url = "github:astro/nix-openwrt-imagebuilder"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/home-pc.nix b/hosts/home-pc.nix index 5af510f..3347332 100644 --- a/hosts/home-pc.nix +++ b/hosts/home-pc.nix @@ -11,6 +11,7 @@ ../system/printing/home.nix ../system/gaming.nix ../desktop + ../desktop/cosmic.nix ../virtualisation/containers.nix ../virtualisation/podman.nix ../virtualisation/libvirt.nix