diff --git a/flake-parts/home-manager/modules.nix b/flake-parts/home-manager/modules.nix index 345dc84..1c4e660 100644 --- a/flake-parts/home-manager/modules.nix +++ b/flake-parts/home-manager/modules.nix @@ -37,6 +37,13 @@ home.sessionVariables.NIX_PATH = "nixpkgs=${inputs.nixpkgs}"; nix.registry.nixpkgs.flake = inputs.nixpkgs; }; + + hyprland = { + imports = [ + inputs.hyprland.homeManagerModules.default + {wayland.windowManager.hyprland.enable = true;} + ]; + }; } // modules; } diff --git a/flake-parts/home-manager/users.nix b/flake-parts/home-manager/users.nix index 81eef81..1b148e8 100644 --- a/flake-parts/home-manager/users.nix +++ b/flake-parts/home-manager/users.nix @@ -22,6 +22,8 @@ self.homeManagerModules.nixpkgs-useFlakeNixpkgs ]; + programs.emacs.enableOrgTex = true; + home.homeDirectory = "/Users/willem"; }; @@ -31,6 +33,8 @@ self.homeManagerModules.linux ]; + programs.emacs.enableOrgTex = false; + home.homeDirectory = "/home/willem"; }; }; @@ -51,6 +55,7 @@ inherit pkgs; modules = [self.homeManagerModules."user-willem-${systemType}" {nix.package = pkgs.nix;}]; }; + packages = let activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") homeConfigurations; in diff --git a/flake-parts/nixos/hosts.nix b/flake-parts/nixos/hosts.nix index 97b8b2c..34e5b04 100644 --- a/flake-parts/nixos/hosts.nix +++ b/flake-parts/nixos/hosts.nix @@ -9,12 +9,17 @@ ../../nixos/profiles/common.nix ../../nixos/profiles/linux/base.nix self.nixosModules.useFlakeNixpkgs + self.nixosModules.users-willem ]; nixpkgs.overlays = builtins.attrValues self.overlays; nixpkgs.config.allowUnfree = true; }; + nixosModules.darwinArmVM = {...}: { + virtualisation.host.pkgs = inputs.nixpkgs.legacyPackages.aarch64-darwin; + }; + nixosModules.willem-home = {...}: { imports = [ inputs.home-manager.nixosModules.home-manager @@ -23,6 +28,14 @@ home-manager.users.willem = self.homeManagerModules.user-willem-linux; }; + nixosModules.willem-hyprland = {...}: { + imports = [ + inputs.home-manager.nixosModules.home-manager + self.nixosModules.homeManagerIntegration + ]; + home-manager.users.willem = self.homeManagerModules.user-willem-linux // self.homeManagerModules.hyprland; + }; + darwinModules.base = {...}: { imports = [ ../../nixos/profiles/common.nix @@ -34,33 +47,14 @@ nixpkgs.config.allowUnfree = true; }; - nixosConfigurations.zeusvm = inputs.nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; + nixosConfigurations.winbox = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; modules = [ self.nixosModules.base - self.nixosModules.willem-home - ../../nixos/hosts/zeus.utmvm.nix - ]; - }; - - nixosConfigurations.zeusasahi = inputs.nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; - modules = [ - self.nixosModules.appleSilicon - self.nixosModules.base - self.nixosModules.willem-home - ../../nixos/hosts/zeus.asahi.nix - ]; - }; - - nixosConfigurations.m1-installer-live = inputs.nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; - modules = [ - self.nixosModules.appleSilicon - self.nixosModules.base - ../../nixos/hosts/live.nix - ../../nixos/hosts/asahi-live.nix + self.nixosModules.willem-hyprland + ../../nixos/hosts/winbox.nix ]; + specialArgs = {inherit inputs;}; }; nixosConfigurations.arm-live = inputs.nixpkgs.lib.nixosSystem { @@ -69,6 +63,18 @@ self.nixosModules.base ../../nixos/hosts/live.nix ]; + specialArgs = {inherit inputs;}; + }; + + nixosConfigurations.darwinArmMinimalVM = inputs.nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + modules = [ + self.nixosModules.users-willemVm + self.nixosModules.base + self.nixosModules.headlessVm + self.nixosModules.darwinArmVM + ]; + specialArgs = {inherit inputs;}; }; darwinConfigurations.zeus = inputs.darwin.lib.darwinSystem { @@ -79,5 +85,7 @@ ]; specialArgs = {inherit inputs;}; }; + + packages.aarch64-darwin.minimalVM = self.nixosConfigurations.darwinArmMinimalVM.config.system.build.vm; }; } diff --git a/flake.lock b/flake.lock index 84f6cf5..3059e8c 100644 --- a/flake.lock +++ b/flake.lock @@ -130,7 +130,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1685518550, @@ -187,6 +187,53 @@ "type": "github" } }, + "hyprland": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "nixpkgs": "nixpkgs_2", + "systems": "systems_2", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1699296543, + "narHash": "sha256-9MYwT+vVmitFIjPZhzn5ZsKNCwgKGU98SW1gAX5bvXs=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "29e0a7112ef5c412e4af640b9d80f80b81a26c94", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "nixos-apple-silicon": { "inputs": { "flake-compat": "flake-compat", @@ -276,6 +323,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1698134075, + "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1699099776, "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", @@ -322,8 +385,9 @@ "fenix": "fenix", "flake-parts": "flake-parts", "home-manager": "home-manager", + "hyprland": "hyprland", "nixos-apple-silicon": "nixos-apple-silicon", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks" } }, @@ -376,6 +440,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -389,6 +468,54 @@ "repo": "default", "type": "github" } + }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1697909146, + "narHash": "sha256-jU0I6FoCKnj4zIBL4daosFWh81U1fM719Z6cae8PxSY=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "47bf87ade2bd32395615a385ebde1fefbcdf79a2", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "47bf87ade2bd32395615a385ebde1fefbcdf79a2", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1697981233, + "narHash": "sha256-y8q4XUwx+gVK7i2eLjfR32lVo7TYvEslyzrmzYEaPZU=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "22e7a65ff9633e1dedfa5317fdffc49f68de2ff2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e10cf61..c4d4e1a 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,7 @@ flake-parts.url = "github:hercules-ci/flake-parts"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + hyprland.url = "github:hyprwm/Hyprland"; nixos-apple-silicon.url = "github:tpwrules/nixos-apple-silicon"; nixos-apple-silicon.inputs.nixpkgs.follows = "nixpkgs"; pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; diff --git a/home-manager/modules/nixpkgs.nix b/home-manager/modules/nixpkgs.nix deleted file mode 100644 index e56d799..0000000 --- a/home-manager/modules/nixpkgs.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - home.file = { - ".config/nixpkgs/config.nix".text = '' - # -*-nix-*- - { - nixpkgs.config.allowUnfreePredicate = (_: true); - allowUnfree = true; - } - ''; - }; -} diff --git a/home-manager/profiles/willem/packages.nix b/home-manager/profiles/willem/packages.nix index a1a839a..4896b2c 100644 --- a/home-manager/profiles/willem/packages.nix +++ b/home-manager/profiles/willem/packages.nix @@ -34,11 +34,10 @@ in { clang-tools cmake comma - coreutils-full + coreutils curl docker docker-compose - elan fd fenix-rust findutils @@ -46,10 +45,7 @@ in { gnuplot graphviz htop - iaito jq - lua_p - lua-language-server mu nix-zsh-completions nixfmt @@ -61,23 +57,18 @@ in { pass-git-helper pinentry plantuml - poppler pv python-wp - radare2 ripgrep rnix-lsp rsync shellcheck shfmt - spotify-tui - spotifyd sqlite stylua texinfo tldr units - unp unrar unzip wget diff --git a/home-manager/profiles/willem/programs/zsh.nix b/home-manager/profiles/willem/programs/zsh.nix index cb9121a..aebe472 100644 --- a/home-manager/profiles/willem/programs/zsh.nix +++ b/home-manager/profiles/willem/programs/zsh.nix @@ -72,7 +72,7 @@ ''; localVariables = { - PROMPT = "\n%B%F{blue}%~\n%F{green}$ %f%b"; + PROMPT = "\n%B%F{cyan}%m:%F{blue}%~\n%F{green}$ %f%b"; RPROMPT = "%B%F{red}%*%f%b"; }; diff --git a/nixos/hosts/asahi-live.nix b/nixos/hosts/asahi-live.nix deleted file mode 100644 index 0e142d5..0000000 --- a/nixos/hosts/asahi-live.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - pkgs, - config, - ... -}: { - boot.postBootCommands = let - inherit (config.hardware.asahi.pkgs) asahi-fwextract; - in '' - for o in $(