diff --git a/flake.lock b/flake.lock index 357df38..94cff23 100644 --- a/flake.lock +++ b/flake.lock @@ -224,6 +224,26 @@ "type": "github" } }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1749999552, + "narHash": "sha256-iCUuEq9qXUh8L1c2bRyCayAqfuUEs9nGAUlXv2RcoF8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "04672588c61aebd18c0d0ada66dd7bb4d8edab0d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", @@ -253,11 +273,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1749838547, - "narHash": "sha256-4qJy0n+6P13/XAHPlcjcWK6MDNYd38PkFdI8iCiJYYo=", - "rev": "1e34c3747779a82d59ef27b351d4ed02fb372a2a", + "lastModified": 1749996528, + "narHash": "sha256-60avE6oxLzasJr+/tFdhInEUUEF3FZ9uHofTUq4MZ1o=", + "rev": "7453e2979f1d4684bea4cb340f23c089ea0d5a90", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1e34c3747779a82d59ef27b351d4ed02fb372a2a.tar.gz?rev=1e34c3747779a82d59ef27b351d4ed02fb372a2a" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7453e2979f1d4684bea4cb340f23c089ea0d5a90.tar.gz?rev=7453e2979f1d4684bea4cb340f23c089ea0d5a90" }, "original": { "type": "tarball", @@ -418,11 +438,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1749727998, - "narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=", + "lastModified": 1749857119, + "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd", + "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98", "type": "github" }, "original": { @@ -513,6 +533,7 @@ "inputs": { "authentik-nix": "authentik-nix", "flake-utils": "flake-utils_2", + "home-manager": "home-manager", "lanzaboote": "lanzaboote", "lix": "lix", "lix-module": "lix-module", diff --git a/flake.nix b/flake.nix index 0c04048..047fdd5 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,11 @@ inputs.flake-utils.follows = "flake-utils"; }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + tmux-yank = { url = "github:tmux-plugins/tmux-yank"; flake = false; @@ -54,6 +59,7 @@ outputs = inputs@{ + home-manager, lanzaboote, lix-module, microvm, @@ -114,6 +120,13 @@ nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3 lix-module.nixosModules.default + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users."0xa" = import ./hosts/toaster/0xa-home.nix; + } + ./hosts/toaster ./modules/basic-tools @@ -122,7 +135,8 @@ ./modules/emacs.nix ./modules/gnupg.nix ./modules/mail - ./modules/gnome.nix + ./modules/mail + ./modules/niri.nix ./modules/radio.nix ./modules/science.nix ./modules/tlp.nix diff --git a/hosts/toaster/default.nix b/hosts/toaster/default.nix index 7e78114..17cedf6 100644 --- a/hosts/toaster/default.nix +++ b/hosts/toaster/default.nix @@ -4,7 +4,7 @@ ./amd.nix ./hardware-configuration.nix ./irc.nix - ./network + ./network/full-networkd.nix ./secure-boot.nix ./zfs.nix ]; @@ -66,7 +66,7 @@ home = "/home/0xa"; isNormalUser = true; uid = 1000; - shell = pkgs.fish; + shell = pkgs.zsh; }; # This value determines the NixOS release from which the default diff --git a/modules/basic-tools/default.nix b/modules/basic-tools/default.nix index a917168..024547c 100644 --- a/modules/basic-tools/default.nix +++ b/modules/basic-tools/default.nix @@ -7,7 +7,6 @@ ./nix.nix ./nix-ld.nix ./zsh.nix - ./fish.nix ]; environment.systemPackages = @@ -81,7 +80,6 @@ vim = "nvim"; grep = "grep --color=auto"; }; - users.defaultUserShell = pkgs.zsh; # keep root shell posix compatible programs.iftop.enable = true; programs.mosh.enable = true; diff --git a/modules/emacs.nix b/modules/emacs.nix index d4b0f26..d5d1346 100644 --- a/modules/emacs.nix +++ b/modules/emacs.nix @@ -6,13 +6,12 @@ { environment.systemPackages = with pkgs; [ - direnv mu ]; services.emacs = { install = true; - enable = false; + enable = true; package = with pkgs; ( diff --git a/modules/niri.nix b/modules/niri.nix index e769189..4af69ca 100644 --- a/modules/niri.nix +++ b/modules/niri.nix @@ -1,74 +1,52 @@ -# General Desktop-related config -{ pkgs, inputs, ... }: +{ pkgs, ... }: { - nixpkgs.overlays = [ inputs.niri.overlays.niri ]; - programs.niri.enable = true; imports = [ ./desktop-software.nix ./fonts.nix ]; - environment.systemPackages = - let - xwayland-satellite-git = pkgs.xwayland-satellite.overrideAttrs ( - final: _prev: { - version = "git"; - cargoHash = "sha256-MaF2FyR3HvQAKkZKa8OO/5jbO64/Ncv7+JqHda4jN50="; - src = pkgs.fetchFromGitHub { - owner = "Supreeeme"; - repo = "xwayland-satellite"; - rev = "cca74a5f6b23742d77dc5db4312dfc40fd4a0fcc"; - sha256 = "sha256-YZ+axsuNsgIKWfnRkt6Qa9UoKfUOIWf42vNUonXxmxM="; - }; - cargoDeps = pkgs.rustPlatform.fetchCargoTarball { - inherit (final) pname src version; - hash = final.cargoHash; - }; - } - ); - in - with pkgs; - [ - screen-message - qbittorrent - gajim - imv - mpv - evince - brightnessctl - pulsemixer - cmus - termusic - gsettings-desktop-schemas - xdg-utils - qt5.qtwayland - bashmount - audacity - spotify-player - zathura - ncdu - adwaita-icon-theme - bluetui - gammastep - graphicsmagick - i3status-rust - impala - kanshi - pamixer - swayidle - swaylock - wl-clipboard - xfce.thunar - banana-cursor - fuzzel - alacritty - i3bar-river - mako - swww - oculante - xwayland-satellite-git - ]; + environment.systemPackages = with pkgs; [ + screen-message + qbittorrent + gajim + imv + mpv + evince + brightnessctl + pulsemixer + cmus + termusic + gsettings-desktop-schemas + xdg-utils + qt5.qtwayland + bashmount + audacity + spotify-player + zathura + ncdu + adwaita-icon-theme + bluetui + gammastep + graphicsmagick + i3status-rust + impala + kanshi + pamixer + swayidle + swaylock + wl-clipboard + xfce.thunar + banana-cursor + fuzzel + alacritty + i3bar-river + mako + swww + oculante + xwayland-satellite + foot + ]; # Enable sound. security.rtkit.enable = true; @@ -127,7 +105,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.niri-stable}/bin/niri-session"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.niri}/bin/niri-session"; }; }; };