feat: add niri, zsh, and daily-use packages

- Add niri compositor with full default config (niri.kdl)
  - tap-to-click, natural-scroll, scroll-factor 0.3
  - waybar, xwayland-satellite, mako autostart
  - kitty as default terminal, fuzzel as launcher
- Add zsh as default shell with autosuggestions, syntax highlighting
- Add starship prompt, zoxide with zsh integration
- Add plasma-manager for declarative KDE dark theme and touchpad settings
- Add zen-browser and claude-desktop via community flakes
- Add vscodium, kitty, foot, fuzzel, waybar, mako, wl-clipboard
- Add swaylock, swayidle, xwayland-satellite for Niri session
- Add daily apps: mpv, imv, grim, slurp, libreoffice, telegram-desktop
- Add CLI tools: btop, ripgrep, fzf, eza, bat, gh
- Set NIXOS_OZONE_WL=1 for Electron apps Wayland and fcitx5 support
- Enable security.polkit for privilege escalation in Niri
- Fix home-manager fontconfig nodePackages bug
- Fix git deprecated userName/userEmail options
This commit is contained in:
2026-08-11 23:07:03 +07:00
parent 4cae1d0ed0
commit 08e1b2b4b5
6 changed files with 492 additions and 12 deletions
+18 -1
View File
@@ -7,17 +7,34 @@
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
claude-desktop.url = "github:k3d3/claude-desktop-linux-flake";
};
outputs = { self, nixpkgs, home-manager, ... }: {
outputs = { self, nixpkgs, home-manager, plasma-manager, zen-browser, claude-desktop, ... }: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/nixos/configuration.nix
home-manager.nixosModules.home-manager
{
nixpkgs.overlays = [
(_: _: {
zen-browser = zen-browser.packages.x86_64-linux.default;
claude-desktop = claude-desktop.packages.x86_64-linux.default;
})
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
home-manager.users.duynguyen = import ./home/duynguyen/default.nix;
}
];