diff --git a/os/flake.lock b/os/flake.lock index 6d917cc..4cf9ca9 100644 --- a/os/flake.lock +++ b/os/flake.lock @@ -37,10 +37,27 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1761656231, + "narHash": "sha256-EiED5k6gXTWoAIS8yQqi5mAX6ojnzpHwAQTS3ykeYMg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e99366c665bdd53b7b500ccdc5226675cfc51f45", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/os/flake.nix b/os/flake.nix index dcef9d4..c7aa803 100644 --- a/os/flake.nix +++ b/os/flake.nix @@ -5,9 +5,10 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; home-manager.url = "github:nix-community/home-manager/release-25.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; - outputs = { self, nixpkgs, home-manager }: { + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager }: { nixosConfigurations = { gnome = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -21,6 +22,7 @@ ./users/demo.nix ./users/master.nix ]; + specialArgs = { inherit nixpkgs-unstable; }; }; kde = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -34,6 +36,7 @@ ./users/demo.nix ./users/master.nix ]; + specialArgs = { inherit nixpkgs-unstable; }; }; hyprland = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -47,6 +50,7 @@ ./users/demo.nix ./users/master.nix ]; + specialArgs = { inherit nixpkgs-unstable; }; }; }; }; diff --git a/os/system/desktop/cosmic.nix b/os/system/desktop/cosmic.nix new file mode 100644 index 0000000..d18c15b --- /dev/null +++ b/os/system/desktop/cosmic.nix @@ -0,0 +1,3 @@ +{ pkgs, ... }: { + services.desktopManager.cosmic.enable = true; +} diff --git a/os/system/desktop/gnome.nix b/os/system/desktop/gnome.nix index 6414280..f96455a 100644 --- a/os/system/desktop/gnome.nix +++ b/os/system/desktop/gnome.nix @@ -6,4 +6,5 @@ displayManager.gdm.enable = true; desktopManager.gnome.enable = true; }; + services.desktopManager.cosmic.enable = true; } diff --git a/os/system/packages.nix b/os/system/packages.nix index 13f8a79..9a2e6e7 100644 --- a/os/system/packages.nix +++ b/os/system/packages.nix @@ -1,14 +1,10 @@ -{ config, pkgs, ... }: +{ config, pkgs, nixpkgs-unstable, ... }: let - unstable = import - (builtins.fetchTarball { - url = "https://github.com/nixos/nixpkgs/tarball/nixpkgs-unstable"; - sha256 = "sha256:1j0ir1f9zv9y674apv7fnmmhr0qf8bjnh7qv6ia47bbs1pzxgr2x"; - }) - # reuse the current configuration - { config = config.nixpkgs.config; }; -in -{ + unstable = import nixpkgs-unstable { + system = pkgs.system; + config = config.nixpkgs.config; + }; +in { nixpkgs.config = { allowUnfree = true; @@ -37,6 +33,8 @@ in ripgrep jq git + ranger + highlight gnumake pinentry direnv @@ -61,7 +59,7 @@ in alacritty brave #unstable.gsconnect - code-cursor + unstable.code-cursor go gnomeExtensions.forge platformio @@ -77,6 +75,7 @@ in hwinfo usbutils unstable.cursor-cli + ffmpeg ]; fonts.packages = with pkgs; [ diff --git a/os/users/master.nix b/os/users/master.nix index dd46b49..fd26e4d 100644 --- a/os/users/master.nix +++ b/os/users/master.nix @@ -12,6 +12,9 @@ home.stateVersion = "23.05"; home.username = "master"; home.homeDirectory = "/home/master"; + home.sessionVariables = { + EDITOR = "vim"; + }; home.packages = with pkgs; [ #plasma5Packages.bismuth #kdeconnect