Dotfiles using Home Manager.
1{
2 description = "Home Manager configuration";
3
4 inputs = {
5 # self.submodules = true;
6
7 nixpkgs.url = "nixpkgs/nixos-25.11";
8 # nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
9
10 home-manager = {
11 url = "github:nix-community/home-manager/release-25.11";
12 inputs.nixpkgs.follows = "nixpkgs";
13 };
14
15 assets = {
16 url = "github:lemueldls/assets";
17 inputs.nixpkgs.follows = "nixpkgs";
18 };
19
20 # PAM shim for non-NixOS systems
21 # Using 'next' branch for full libpam.so.0 API coverage
22 pam-shim = {
23 url = "github:Cu3PO42/pam_shim/next";
24 };
25
26 plasma-manager = {
27 url = "github:nix-community/plasma-manager";
28 inputs.nixpkgs.follows = "nixpkgs";
29 inputs.home-manager.follows = "home-manager";
30 };
31
32 niri = {
33 # url = "github:sodiboo/niri-flake";
34 url = "github:LuckShiba/niri-flake/includes";
35 inputs.nixpkgs.follows = "nixpkgs";
36 };
37
38 dms = {
39 url = "github:AvengeMedia/DankMaterialShell";
40 inputs.nixpkgs.follows = "nixpkgs";
41 };
42
43 dgop = {
44 url = "github:AvengeMedia/dgop";
45 inputs.nixpkgs.follows = "nixpkgs";
46 };
47
48 catppuccin.url = "github:catppuccin/nix/release-25.11";
49 };
50
51 outputs =
52 inputs:
53 let
54 system = "x86_64-linux";
55 overlays = [ ];
56 allowUnfree = true;
57 pkgs = import inputs.nixpkgs {
58 inherit system overlays;
59 config.allowUnfree = allowUnfree;
60 };
61 in
62 {
63 homeConfigurations = {
64 lemuel = inputs.home-manager.lib.homeManagerConfiguration {
65 inherit pkgs;
66
67 extraSpecialArgs = {
68 inherit inputs overlays allowUnfree;
69 };
70
71 modules = [
72 ./home.nix
73
74 inputs.pam-shim.homeModules.default
75
76 inputs.plasma-manager.homeModules.plasma-manager
77
78 inputs.niri.homeModules.niri
79 inputs.dms.homeModules.dank-material-shell
80 inputs.dms.homeModules.niri
81
82 inputs.catppuccin.homeModules.catppuccin
83 ];
84 };
85 };
86 };
87}