more refactor. adding shikane

This commit is contained in:
Matt Nish-Lapidus 2025-02-06 13:56:58 -05:00
parent 14ad4cd2c5
commit 7b26c73b59
18 changed files with 851 additions and 764 deletions

503
flake.lock generated
View file

@ -44,72 +44,6 @@
"url": "https://gt.emenel.ca/emenel/audio.nix.git" "url": "https://gt.emenel.ca/emenel/audio.nix.git"
} }
}, },
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1732200724,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1731949548,
"narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"type": "github"
}
},
"crane": { "crane": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -156,11 +90,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1738775993, "lastModified": 1738861981,
"narHash": "sha256-LNnDrJpy2oMn6IYXCCi5FWqEcT4gD1rnt0xM36Fov3Q=", "narHash": "sha256-QfphE389j/AkIBLrPti7iaWdzRlByxZ9PZdQ0Z9ES5g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "ed5cb1becdad3465ca08dd8ef0b156ae4390505f", "rev": "1d19c1885c8807e044eb861162ee0120b6749dea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -191,22 +125,6 @@
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1734969791,
"narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
@ -254,22 +172,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"
@ -325,10 +227,7 @@
}, },
"flake-utils_4": { "flake-utils_4": {
"inputs": { "inputs": {
"systems": [ "systems": "systems_7"
"stylix",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -362,24 +261,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_6": {
"inputs": {
"systems": "systems_9"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"freetype2": { "freetype2": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -397,53 +278,6 @@
"type": "github" "type": "github"
} }
}, },
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"stylix",
"flake-compat"
],
"gitignore": "gitignore_2",
"nixpkgs": [
"stylix",
"nixpkgs"
],
"nixpkgs-stable": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -466,45 +300,6 @@
"type": "github" "type": "github"
} }
}, },
"gitignore_2": {
"inputs": {
"nixpkgs": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1732369855,
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "47.2",
"repo": "gnome-shell",
"type": "github"
}
},
"harfbuzz": { "harfbuzz": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -529,11 +324,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738753876, "lastModified": 1738841109,
"narHash": "sha256-yXT82kERWL4R81hfun9BuT478Q6ut0dJzdQjAxjRS38=", "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f20b7a8ab527a2482f13754dc00b2deaddc34599", "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -691,11 +486,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1738748191, "lastModified": 1738841768,
"narHash": "sha256-pFviZDdMHOgctZKqoCrzWTy8PgwuRWVbE6PRGqSYxLA=", "narHash": "sha256-T3fWbhR7mciPIh1Vd3zyigPJlgA2eGQPkSbm5v8M/xI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "ce750456f9863d9d821fd0a2dc28d0b8ac0b5e26", "rev": "dc6d72158c22d802845679e783231061b717ffd1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -818,11 +613,11 @@
"uv2nix": "uv2nix" "uv2nix": "uv2nix"
}, },
"locked": { "locked": {
"lastModified": 1738662252, "lastModified": 1738789634,
"narHash": "sha256-N5Uao4Wkcfd4hb7eipDtJBBERbe7ctHT17Dsw6jtNcI=", "narHash": "sha256-phbQUuuRxGk9P9fxzza00pmxpc1hdWctn3/n9QwhMMM=",
"owner": "isd-project", "owner": "isd-project",
"repo": "isd", "repo": "isd",
"rev": "827f5dad83f5dd0cf26bc28fed385ff3f4e5f54d", "rev": "1ffa08db3e54a435e796093e53e91e8280f61661",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -892,18 +687,54 @@
}, },
"niri": { "niri": {
"inputs": { "inputs": {
"nix-filter": "nix-filter_2", "niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay" "nixpkgs-stable": "nixpkgs-stable_2",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1738768006, "lastModified": 1738835520,
"narHash": "sha256-56jDYr/vqX4fobMJO2nWLjih03i6UV5bKtxI0nR4ZZA=", "narHash": "sha256-qvaWZ3PDJ0MC7t0wD8MdoGdVnMu0ps/ZWCXGepCFo5s=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "4e72debdb5675b41278ddd492168b6c9c9ed09a0",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1736614405,
"narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "690d6355057ebeba03cbd8ce4905145b834c72f8", "rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.01",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1738827003,
"narHash": "sha256-s3bBfzPRRWybVSzRYStIwQxSOH5/9kR0Kfqi4IsvG7E=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "b31c0359ebce114ae2f9b4e5df3dc37a93f5115e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -966,21 +797,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-filter_2": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1738175805, "lastModified": 1738175805,
@ -998,11 +814,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1738638143, "lastModified": 1738816619,
"narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=", "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70", "rev": "2eccff41bab80839b1d25b303b53d339fbb07087",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1043,6 +859,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1738702386,
"narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1708118438, "lastModified": 1708118438,
@ -1216,7 +1048,6 @@
"paperwm": "paperwm", "paperwm": "paperwm",
"shikane": "shikane", "shikane": "shikane",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix",
"wezterm": "wezterm", "wezterm": "wezterm",
"yazi": "yazi" "yazi": "yazi"
} }
@ -1239,27 +1070,6 @@
} }
}, },
"rust-overlay": { "rust-overlay": {
"inputs": {
"nixpkgs": [
"niri",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733106880,
"narHash": "sha256-aJmAIjZfWfPSWSExwrYBLRgXVvgF5LP1vaeUGOOIQ98=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "e66c0d43abf5bdefb664c3583ca8994983c332ae",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"wezterm", "wezterm",
@ -1280,7 +1090,7 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_3": { "rust-overlay_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"yazi", "yazi",
@ -1344,43 +1154,6 @@
"type": "github" "type": "github"
} }
}, },
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_7",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1736493302,
"narHash": "sha256-6+z7mOa4d4+UH+do71u6WSugLWWiC1zBzYB+N5VYblQ=",
"owner": "donovanglover",
"repo": "stylix",
"rev": "483505ec60470cfd7776a00825d41590e8bde4f1",
"type": "github"
},
"original": {
"owner": "donovanglover",
"repo": "stylix",
"type": "github"
}
},
"systemd-nix": { "systemd-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1522,87 +1295,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_9": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1729501581,
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"uv2nix": { "uv2nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1630,14 +1322,14 @@
}, },
"wezterm": { "wezterm": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_5", "flake-utils": "flake-utils_4",
"freetype2": "freetype2", "freetype2": "freetype2",
"harfbuzz": "harfbuzz", "harfbuzz": "harfbuzz",
"libpng": "libpng", "libpng": "libpng",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_2", "rust-overlay": "rust-overlay",
"zlib": "zlib" "zlib": "zlib"
}, },
"locked": { "locked": {
@ -1656,20 +1348,53 @@
"type": "github" "type": "github"
} }
}, },
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1730166465,
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.5",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1737837494,
"narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"yazi": { "yazi": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_6", "flake-utils": "flake-utils_5",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1738762515, "lastModified": 1738824893,
"narHash": "sha256-0LIVLou8bMYf4guwRy6YTNhMwwKWC4Ty1pg0bHm4588=", "narHash": "sha256-QjsYBpcCzaQ8E8hCXYuWTZS4YnUm/7WrNvjd79YOUsk=",
"owner": "sxyazi", "owner": "sxyazi",
"repo": "yazi", "repo": "yazi",
"rev": "e9fcab3b375afef4b0083687388b90e060a55a37", "rev": "b1d2be067f1270a6c5728f62c754d6b2c8fdaa4b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -12,15 +12,6 @@
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch
stylix = {
url = "github:donovanglover/stylix";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
yazi = { yazi = {
url = "github:sxyazi/yazi"; url = "github:sxyazi/yazi";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -84,7 +75,7 @@
}; };
niri = { niri = {
url = "github:YaLTeR/niri"; url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
@ -134,6 +125,7 @@
modules = [ modules = [
inputs.kmonad.nixosModules.default inputs.kmonad.nixosModules.default
inputs.musnix.nixosModules.musnix inputs.musnix.nixosModules.musnix
inputs.niri.nixosModules.niri
./hosts/eddie/configuration.nix ./hosts/eddie/configuration.nix
]; ];
}; };
@ -149,8 +141,8 @@
modules = [ modules = [
inputs.nix-flatpak.homeManagerModules.nix-flatpak inputs.nix-flatpak.homeManagerModules.nix-flatpak
inputs.stylix.homeManagerModules.stylix
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
inputs.niri.homeModules.niri
./homes/emenel/default.nix ./homes/emenel/default.nix
]; ];
}; };

View file

@ -6,7 +6,9 @@
}; };
overlays = builtins.attrValues nix-config.overlays overlays = builtins.attrValues nix-config.overlays
++ [ inputs.emacs-overlay.overlays.default ++ [ inputs.emacs-overlay.overlays.default
inputs.audio.overlays.default ]; inputs.audio.overlays.default
inputs.niri.overlays.niri
inputs.shikane.overlays.default ];
}; };
imports = with nix-config.homeModules; [ imports = with nix-config.homeModules; [
@ -15,6 +17,11 @@
yazi yazi
hyprlock hyprlock
hypridle hypridle
shell-conf # shell, shell utils, cli tools, libs, tui's
email
gnome
niri
shikane
]; ];
home = { home = {
@ -23,8 +30,6 @@
inputs.affinity-nix.packages.x86_64-linux.photo inputs.affinity-nix.packages.x86_64-linux.photo
inputs.affinity-nix.packages.x86_64-linux.publisher inputs.affinity-nix.packages.x86_64-linux.publisher
inputs.affinity-nix.packages.x86_64-linux.designer inputs.affinity-nix.packages.x86_64-linux.designer
inputs.shikane.packages.x86_64-linux.default
inputs.isd.packages.x86_64-linux.default
] ]
(with nix-config.packages.x86_64-linux; [ (with nix-config.packages.x86_64-linux; [
@ -49,45 +54,18 @@
bitwig-studio5-latest bitwig-studio5-latest
wayback wayback
just
yt-dlp
erdtree
age
figlet
ffmpeg-full
rlwrap
pinentry
gcr
gnutar
libnotify
unzip
zip
stdenv
tldr
delta
htop
dconf dconf
dconf2nix
readline
gnupg
imagemagick
gnutls
gettext
xorg.libX11 xorg.libX11
xorg.libxcb xorg.libxcb
freetype freetype
gnumake
flex
bison
mesa
neofetch neofetch
nvd nvd
nitch
ripgrep-all ripgrep-all
silver-searcher silver-searcher
maestral maestral
maestral-gui maestral-gui
nix-index
fstl fstl
godot_4 godot_4
sane-airscan sane-airscan
@ -99,13 +77,6 @@
age age
sops sops
nix-du
usbutils
pciutils
util-linux
coreutils
binutils
protonplus protonplus
ispell ispell
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ])) (aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
@ -113,7 +84,6 @@
appimage-run appimage-run
libappimage libappimage
transmission_4-gtk transmission_4-gtk
lsof
guile guile
python311 python311
python311Packages.pip python311Packages.pip
@ -135,17 +105,17 @@
serapeum serapeum
])) ]))
kdlfmt
kdotool kdotool
ccl ccl
racket racket
gdu gdu
poppler_utils poppler_utils
editorconfig-core-c
cljfmt cljfmt
libxml2 libxml2
gdtoolkit_4 gdtoolkit_4
openssl.out
nixfmt-rfc-style nixfmt-rfc-style
wl-clipboard wl-clipboard
clipse clipse
@ -154,22 +124,9 @@
rustup rustup
shfmt shfmt
html-tidy html-tidy
libsecret
samba4Full
shellcheck
wayland-utils wayland-utils
libffi.dev
nodejs_18
platformio-core
icloudpd
libheif.out libheif.out
openal openal
pkg-config
ftgl
gperf
numbat
glpng
nurl
freecad freecad
procs procs
rpi-imager rpi-imager
@ -178,30 +135,6 @@
prusa-slicer prusa-slicer
# global node packages
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages.prettier
nodePackages.javascript-typescript-langserver
nodePackages.stylelint
nodePackages.svelte-language-server
nodePackages.typescript
nodePackages.js-beautify
nixd
nixdoc
nix-init
git-annex
fishPlugins.foreign-env
fishPlugins.z
fishPlugins.fzf-fish
fishPlugins.bass
fishPlugins.autopair
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
via via
vial vial
bitwarden-cli bitwarden-cli
@ -214,30 +147,15 @@
tdf tdf
pdfchain pdfchain
pdftk pdftk
ghostscript
zathura zathura
gpu-viewer gpu-viewer
mesa-demos
gnomeExtensions.just-perfection
gnomeExtensions.dash-to-dock
gnomeExtensions.paperwm
gnomeExtensions.custom-hot-corners-extended
gnomeExtensions.media-controls
gnomeExtensions.looking-glass-button
gnomeExtensions.auto-power-profile
gnomeExtensions.appindicator
gnome-software
gnome-tweaks
gnome-photos
gnome-keyring
ulauncher
wl-mirror wl-mirror
nwg-look
soundconverter soundconverter
# gtop
wmctrl wmctrl
# colloid-gtk-theme
colloid-icon-theme colloid-icon-theme
whitesur-gtk-theme whitesur-gtk-theme
whitesur-cursors whitesur-cursors
@ -249,9 +167,8 @@
squirreldisk squirreldisk
papers papers
newsflash newsflash
planify
borgbackup borgbackup
vorta
stirling-pdf stirling-pdf
trash-cli trash-cli
ripdrag ripdrag
@ -265,19 +182,19 @@
wine = wineWowPackages.stagingFull; wine = wineWowPackages.stagingFull;
}) })
chayang
sway-launcher-desktop sway-launcher-desktop
swayosd swayosd
spice spice
spice-gtk spice-gtk
spice-protocol spice-protocol
virt-viewer virt-viewer
virt-manager virt-manager
bfg-repo-cleaner
thunderbird-latest thunderbird-latest
emojify emojify
smile smile
gnomeExtensions.smile-complementary-extension
impression impression
zoom-us zoom-us
nyxt nyxt
@ -289,14 +206,12 @@
slack slack
signal-desktop signal-desktop
eyedropper eyedropper
calcurse
onlyoffice-desktopeditors onlyoffice-desktopeditors
libreoffice libreoffice
hyphenDicts.en_US hyphenDicts.en_US
plex-mpv-shim plex-mpv-shim
plexamp plexamp
rmpc
resources
carla carla
switcheroo switcheroo
tenacity tenacity
@ -332,9 +247,11 @@
ardour ardour
dockfmt dockfmt
impala impala
playerctl
fractal
oculante oculante
door-knocker
farge farge
halloy halloy
paleta paleta
@ -424,81 +341,11 @@
}; };
}; };
accounts.email = {
maildirBasePath = "/home/emenel/.maildir";
accounts = {
"matt@emenel.ca" = {
address = "matt@emenel.ca";
realName = "Matt Nish-Lapidus";
primary = true;
mu.enable = true;
mbsync = {
enable = true;
create = "maildir";
};
msmtp.enable = true;
flavor = "fastmail.com";
passwordCommand = "rbw get mu4e-fastmail";
};
"admin@studyoftime.org" = {
address = "admin@studyoftime.org";
realName = "ISST Web Admin";
mu.enable = true;
mbsync = {
enable = true;
create = "maildir";
};
msmtp.enable = true;
passwordCommand = "rbw get admin@studyoftime";
imap.host = "imap.dreamhost.com";
smtp.host = "imap.dreamhost.com";
userName = "admin@studyoftime.org";
};
};
};
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
direnv = {
enable = true;
nix-direnv.enable = true;
};
fish = {
enable = true;
shellAliases = {
"ls" = "eza";
".j" = "just -g";
"em" = "emacsclient -n -r";
"mkdir" = "mkdir -pv";
};
interactiveShellInit = ''
bind --erase \ct
'';
plugins = [
{
name = "upto";
src = pkgs.fetchFromGitHub {
owner = "Markcial";
repo = "upto";
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
};
}
];
};
zoxide = {
enable = true;
};
starship = {
enable = true;
};
mu.enable = true;
mbsync = {
enable = true;
};
msmtp.enable = true;
emacs = { emacs = {
enable = true; enable = true;
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages ( package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
@ -521,120 +368,11 @@
] ]
)); ));
}; };
ripgrep = {
enable = true;
};
thefuck = {
enable = true;
};
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
# extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
};
bat = {
enable = true;
};
borgmatic = {
enable = true;
backups = {
eddie = {
location = {
patterns = [
"R /home/emenel"
"- home/emenel/.cache"
"- home/emenel/.nix*"
"- home/emenel/.steam*"
"- home/emenel/Dropbox"
"- home/emenel/Sync"
"- home/emenel/.dropbox*"
"- home/emenel/.BitwigStudio"
"- home/emenel/.local/share/bitwig"
];
repositories = [
{
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
"label" = "eddie on borgbase";
}
];
};
retention = {
keepDaily = 3;
keepHourly = 3;
keepMonthly = 2;
};
};
};
};
eza = {
enable = true;
};
fd = {
enable = true;
};
fzf = {
enable = true;
enableFishIntegration = false;
};
broot = {
enable = true;
};
git = {
enable = true;
lfs.enable = true;
};
htop.enable = true;
pandoc.enable = true; pandoc.enable = true;
password-store.enable = true; password-store.enable = true;
waybar = {
enable = true;
package = pkgs.waybar;
};
eww = {
enable = true;
configDir = ./dotfiles/dot_config/eww;
};
lazygit.enable = true;
jq.enable = true;
firefox.enable = true; firefox.enable = true;
rbw = {
enable = true;
package = nix-config.packages.x86_64-linux.rbw-latest;
};
};
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "none";
primary-color = "#000000";
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/shell/keybindings" = {
shift-overview-up = ["disabled"];
shift-overview-down = ["disabled"];
switch-to-application-1 = ["disabled"];
switch-to-application-2 = ["disabled"];
switch-to-application-3 = ["disabled"];
switch-to-application-4 = ["disabled"];
switch-to-application-5 = ["disabled"];
switch-to-application-6 = ["disabled"];
switch-to-application-7 = ["disabled"];
switch-to-application-8 = ["disabled"];
switch-to-application-9 = ["disabled"];
switch-to-application-10 = ["disabled"];
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-up = ["disabled"];
switch-to-workspace-down = ["disabled"];
move-to-workspace-up = ["disabled"];
move-to-workspace-down = ["disabled"];
};
}; };
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config.packageOverrides = pkgs: {
@ -687,17 +425,6 @@
}; };
}; };
# stylix = {
# enable = true;
# base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml";
# image = ./akira.png;
# cursor = {
# package = pkgs.bibata-cursors;
# name = "Bibtata-Modern-Classic";
# size = 24;
# };
# };
xdg.systemDirs.data = [ xdg.systemDirs.data = [
"/home/emenel/.local/share/applications/wine/Programs" "/home/emenel/.local/share/applications/wine/Programs"
"/home/emenel/.local/share/applications" "/home/emenel/.local/share/applications"
@ -728,41 +455,19 @@
# moving files! # moving files!
xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml; xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml;
xdg.configFile."waybar".source = ./dotfiles/dot_config/waybar; xdg.configFile."waybar".source = ./dotfiles/dot_config/waybar;
xdg.configFile."starship.toml".source = ./dotfiles/dot_config/starship.toml;
xdg.configFile."niri/config.kdl".source = ./dotfiles/dot_config/niri/config.kdl;
xdg.configFile."wezterm".source = ./dotfiles/dot_config/wezterm;
xdg.configFile."just/justfile".source = ./dotfiles/dot_config/just/justfile;
xdg.configFile."git".source = ./dotfiles/dot_config/git;
xdg.configFile."rbw".source = ./dotfiles/dot_config/rbw;
xdg.configFile."shikane".source = ./dotfiles/dot_config/shikane;
home.file.".ssh/config".source = ./dotfiles/dot_ssh/config;
home.file.".npmrc".source = ./dotfiles/dot_npmrc; home.file.".npmrc".source = ./dotfiles/dot_npmrc;
home.file.".vst3/yabridge/yabridge.toml".source = ./dotfiles/dot_vst3/yabridge.toml; home.file.".vst3/yabridge/yabridge.toml".source = ./dotfiles/dot_vst3/yabridge.toml;
home.file.".sbclrc".source = ./dotfiles/dot_sbclrc; home.file.".sbclrc".source = ./dotfiles/dot_sbclrc;
home.file.".signature".source = ./dotfiles/dot_signature; home.file.".signature".source = ./dotfiles/dot_signature;
home.file.".config/fish/functions" = {
source = ./dotfiles/dot_config/fish/functions;
recursive = true;
};
home.file.".config/fish/completions" = {
source = ./dotfiles/dot_config/fish/completions;
recursive = true;
};
xdg.configFile."emacs".enable = false; xdg.configFile."emacs".enable = false;
# home.file.".msmtprc".source = ./dotfiles/dot_msmtprc;
# home.file.".mbsyncrc".source = ./dotfiles/dot_mbsyncrc;
# xdg.configFile."isyncrc".enable = false;
home.file.".local/bin" = { home.file.".local/bin" = {
source = ./dotfiles/dot_local/bin; source = ./dotfiles/dot_local/bin;
recursive = true; recursive = true;
}; };
home.file.".local/share/flf".source = ./dotfiles/dot_local/share/flf;
home.file.".local/share/The Usual Suspects/Vavra" = { home.file.".local/share/The Usual Suspects/Vavra" = {
recursive = true; recursive = true;

View file

@ -46,7 +46,7 @@ config.enable_wayland = false;
config.font_size = 14 config.font_size = 14
config.font = wezterm.font { config.font = wezterm.font {
family = 'JetBrains Mono', family = 'JetBrains Mono',
weight = 'Medium' -- weight = 'Normal'
} }
-- config.enable_scroll_bar = true -- config.enable_scroll_bar = true

View file

@ -1,6 +1,3 @@
[flavor] [flavor]
dark = "monokai-vibrant" dark = "monokai-vibrant"
light = "monokai-vibrant" light = "monokai-vibrant"
[manager]
hovered = { bg = "#cccccc", fg = "#000000" }

View file

@ -19,7 +19,7 @@
allowUnfree = true; allowUnfree = true;
}; };
overlays = builtins.attrValues nix-config.overlays overlays = builtins.attrValues nix-config.overlays
++ [ inputs.niri.overlays.default ]; ++ [ inputs.niri.overlays.niri ];
}; };
# environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}"; # environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
@ -429,7 +429,6 @@
#programs.gnupg.enable = true; #programs.gnupg.enable = true;
programs.git.enable = true; programs.git.enable = true;
services.gnome.core-developer-tools.enable = true;
environment.gnome.excludePackages = with pkgs; [ environment.gnome.excludePackages = with pkgs; [
cheese cheese
geary geary

43
modules/home/email.nix Normal file
View file

@ -0,0 +1,43 @@
{
accounts.email = {
maildirBasePath = "/home/emenel/.maildir";
accounts = {
"matt@emenel.ca" = {
address = "matt@emenel.ca";
realName = "Matt Nish-Lapidus";
primary = true;
mu.enable = true;
mbsync = {
enable = true;
create = "maildir";
};
msmtp.enable = true;
flavor = "fastmail.com";
passwordCommand = "rbw get mu4e-fastmail";
};
"admin@studyoftime.org" = {
address = "admin@studyoftime.org";
realName = "ISST Web Admin";
mu.enable = true;
mbsync = {
enable = true;
create = "maildir";
};
msmtp.enable = true;
passwordCommand = "rbw get admin@studyoftime";
imap.host = "imap.dreamhost.com";
smtp.host = "imap.dreamhost.com";
userName = "admin@studyoftime.org";
};
};
};
programs = {
mu.enable = true;
mbsync = {
enable = true;
};
msmtp.enable = true;
};
}

53
modules/home/gnome.nix Normal file
View file

@ -0,0 +1,53 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
gnomeExtensions.just-perfection
gnomeExtensions.dash-to-dock
gnomeExtensions.paperwm
gnomeExtensions.custom-hot-corners-extended
gnomeExtensions.media-controls
gnomeExtensions.looking-glass-button
gnomeExtensions.auto-power-profile
gnomeExtensions.appindicator
gnome-software
gnome-tweaks
gnome-photos
gnome-keyring
];
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "none";
primary-color = "#000000";
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/shell/keybindings" = {
shift-overview-up = ["disabled"];
shift-overview-down = ["disabled"];
switch-to-application-1 = ["disabled"];
switch-to-application-2 = ["disabled"];
switch-to-application-3 = ["disabled"];
switch-to-application-4 = ["disabled"];
switch-to-application-5 = ["disabled"];
switch-to-application-6 = ["disabled"];
switch-to-application-7 = ["disabled"];
switch-to-application-8 = ["disabled"];
switch-to-application-9 = ["disabled"];
switch-to-application-10 = ["disabled"];
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-up = ["disabled"];
switch-to-workspace-down = ["disabled"];
move-to-workspace-up = ["disabled"];
move-to-workspace-down = ["disabled"];
};
};
}

View file

@ -8,52 +8,41 @@
lock_cmd = "pidof hyprlock || hyprlock"; lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session"; before_sleep_cmd = "loginctl lock-session";
}; };
# TODO: add monitor shut off timout
# battery timers # battery timers
listener = [ listener = [
{
timeout = 30;
on-timeout = "systemd-ac-power || light -S 0";
on-resume = "systemd-ac-power || light -I";
}
{ {
timeout = "30"; timeout = "30";
on-timeout = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0"; on-timeout = "systemd-ac-power || light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0";
on-resume = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40"; on-resume = "systemd-ac-power || light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40";
} }
{ {
timeout = "120"; timeout = "120";
on-timeout = "systemd-ac-power || systemd-ac-power && loginctl lock-session"; on-timeout = "systemd-ac-power || loginctl lock-session && niri msg action power-off-monitors";
} }
{ {
timeout = "600"; timeout = "300";
on-timeout = "systemd-ac-power || systemctl suspend"; on-timeout = "systemd-ac-power || loginctl lock-session && systemctl suspend";
} }
# ac power timers # ac power timers
{ {
timeout = "60"; timeout = "60";
on-timeout = "systemd-ac-power && light -S 0"; on-timeout = "systemd-ac-power && light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0";
on-resume = "systemd-ac-power && light -I"; on-resume = "systemd-ac-power && light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40";
} }
{ { timeout = "180";
timeout = "60"; on-timeout = "systemd-ac-power && loginctl lock-session"; }
on-timeout = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0";
on-resume = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40"; { timeout = "300";
} on-timeout = "systemd-ac-power && loginctl lock-session && niri msg action power-off-monitors"; }
{ {
timeout = "300"; timeout = "900";
on-timeout = "systemd-ac-power && loginctl lock-session"; on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend";
}
{
timeout = "1800";
on-timeout = "systemd-ac-power && systemctl suspend";
} }
]; ];

View file

@ -25,7 +25,7 @@
fade_on_empty = false; fade_on_empty = false;
check_color = "rgb(204, 136, 34)"; check_color = "rgb(204, 136, 34)";
placeholder_text = "<i><span foreground=\"##cdd6f4\">hm ...</span></i>"; placeholder_text = "<i><span foreground=\"##cdd6f4\">hm ...</span></i>";
hide_input = false; hide_input = false;
position = "0, 0"; position = "0, 0";
halign = "center"; halign = "center";
valign = "center"; valign = "center";

10
modules/home/kanshi.nix Normal file
View file

@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }:
{
services.kanshi = {
enable = true;
profiles
};
}

View file

@ -22,7 +22,9 @@
markup=true; markup=true;
actions=true; actions=true;
format="<b>%s</b>\n%b"; format=''
<b>%s</b>\n%b
'';
defaultTimeout=5000; defaultTimeout=5000;
ignoreTimeout=false; ignoreTimeout=false;
}; };

344
modules/home/niri.nix Normal file
View file

@ -0,0 +1,344 @@
{ config, pkgs, ... }:
{
programs = {
waybar = {
enable = true;
package = pkgs.waybar;
};
eww = {
enable = true;
configDir = ../../homes/emenel/dotfiles/dot_config/eww;
};
niri = {
package = pkgs.niri-unstable;
enable = true;
settings = {
hotkey-overlay.skip-at-startup = true;
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
prefer-no-csd = true;
spawn-at-startup = [
{ command = ["maestral_qt"]; }
# { command = ["xwayland-satellite" ":0"]; }
{ command = ["clipse" "-listen"]; }
# { command = ["waybar"]; }
{ command = ["swayosd-server"]; }
{ command = ["plexamp"]; }
{ command = [ "systemctl --user restart waybar.service mako.service hypridle.service xwayland-satellite.service" ]; }
# { command = ["hypridle"]; }
];
workspaces = {
"main" = {};
"scratchpad" = {};
};
input = {
keyboard.xkb.layout = "us";
touchpad = {
natural-scroll = true;
scroll-method = "two-finger";
dwt = true;
tap = false;
tap-button-map = "left-right-middle";
click-method = "clickfinger";
};
mouse = {
natural-scroll = true;
accel-speed = 0.1;
accel-profile = "adaptive";
};
workspace-auto-back-and-forth = true;
};
outputs = {
"eDP-1" = {
mode = {
height = 2560;
width = 1600;
};
background-color = "#000000";
scale = 1;
};
"PNP(BNQ) BenQ PD2725U N2N00414019" = {
mode = {
height = 3840;
width = 2160;
refresh = 59.997;
};
background-color = "#000000";
scale = 1;
};
};
environment = {
DISPLAY = ":0";
QT_QPA_PLATFORM = "wayland";
XDG_CURRENT_DESKTOP = "niri";
XDG_SESSION_TYPE = "wayland";
MOZ_ENABLE_WAYLAND = "1";
};
cursor = {
theme = "Bibata-Modern-Classic";
size = 32;
hide-after-inactive-ms = 30000;
};
animations.slowdown = 1.0;
layout = {
gaps = 10;
center-focused-column = "never";
always-center-single-column = true;
preset-column-widths = [
{ proportion = 0.33333; }
{ proportion = 0.5; }
{ proportion = 0.66667; }
];
preset-window-heights = [
{ proportion = 1. / 3.; }
{ proportion = 1. / 2.; }
{ proportion = 2. / 3.; }
];
default-column-width = { proportion = 0.5; };
focus-ring = {
enable = true;
active.gradient = {
from = "#d8bfffdd";
to = "#BD93FF99";
angle = 0;
in' = "srgb-linear";
};
width = 2;
};
border = {
enable = true;
inactive = {
gradient = {
from = "#333333";
to = "#000000";
angle = 180;
in' = "srgb-linear";
};
};
active.color = "#000";
width = 2;
};
};
window-rules = [
# global window rule for shared config
{ geometry-corner-radius = {
top-left = 8.0;
top-right = 8.0;
bottom-left = 8.0;
bottom-right = 8.0;
};
clip-to-geometry = true; }
{ matches = [
{app-id="Calculator";}
{app-id="Color Picker";}
{app-id="Volume Control";}
];
open-floating = true; }
{ matches = [
{app-id="Plexamp";}
{app-id="scratchpad";}
];
open-on-workspace = "scratchpad";
open-floating = true; }
{ matches = [{app-id="launcher";}];
open-floating = true; }
# Open the Firefox picture-in-picture player as floating by default.
{ # This app-id regular expression will work for both:
# host Firefox (app-id is "firefox")
# Flatpak Firefox (app-id is "org.mozilla.firefox")
matches = [ { app-id= "r#\"firefox$\"# title=\"^Picture-in-Picture$\""; } ];
open-floating = true; }
];
binds = with config.lib.niri.actions; let
wez = spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process";
wezlaunch = wez "--class" "launcher";
in {
# shows a list of important hotkeys.
"Mod+Shift+Slash".action = show-hotkey-overlay;
"Mod+Space".action = wezlaunch "sway-launcher-desktop";
"Mod+Ctrl+T".action = spawn "wezterm";
"Mod+Ctrl+E".action = spawn "emacsclient" "-r" "-n";
"Mod+Ctrl+B".action = spawn "firefox";
"Mod+Ctrl+V".action = wezlaunch "clipse";
"Mod+Ctrl+F".action = wez "yazi";
"Mod+Shift+A".action = spawn "hyprlock";
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--output-volume" "raise";
};
"XF86AudioLowerVolume" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--output-volume" "lower";
};
"XF86AudioMute" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--output-volume" "mute-toggle";
};
"XF86AudioMicMute" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
};
"XF86MonBrightnessUp" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--brightness" "raise";
};
"XF86MonBrightnessDown" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--brightness" "lower";
};
"Mod+Q".action = close-window;
"Mod+Left".action = focus-column-left;
"Mod+Down".action = focus-window-down;
"Mod+Up".action = focus-window-up;
"Mod+Right".action = focus-column-right;
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
"Mod+Ctrl+Left".action = move-column-left;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Ctrl+End".action = move-column-to-last;
"Mod+Shift+Left".action = focus-monitor-left;
"Mod+Shift+Down".action = focus-monitor-down;
"Mod+Shift+Up".action = focus-monitor-up;
"Mod+Shift+Right".action = focus-monitor-right;
"Mod+Shift+H".action = focus-monitor-left;
"Mod+Shift+J".action = focus-monitor-down;
"Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Mod+Page_Down".action = focus-workspace-down;
"Mod+Page_Up".action = focus-workspace-up;
"Mod+U".action = focus-workspace-down;
"Mod+I".action = focus-workspace-up;
"Mod+Alt+Down".action = move-column-to-workspace-down;
"Mod+Alt+Up".action = move-column-to-workspace-up;
"Mod+Ctrl+U".action = move-column-to-workspace-down;
"Mod+Ctrl+I".action = move-column-to-workspace-up;
"Mod+Shift+Page_Down".action = move-workspace-down;
"Mod+Shift+Page_Up".action = move-workspace-up;
"Mod+Shift+U".action = move-workspace-down;
"Mod+Shift+I".action = move-workspace-up;
"Mod+WheelScrollDown" = {
action = focus-workspace-down;
cooldown-ms = 150;
};
"Mod+WheelScrollUp" = {
action = focus-workspace-up;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollDown" = {
action = move-column-to-workspace-down;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollUp" = {
action = move-column-to-workspace-up;
cooldown-ms = 150;
};
"Mod+WheelScrollRight".action = focus-column-right;
"Mod+WheelScrollLeft".action = focus-column-left;
"Mod+Ctrl+WheelScrollRight".action = move-column-right;
"Mod+Ctrl+WheelScrollLeft".action = move-column-left;
"Mod+Shift+WheelScrollDown".action = focus-column-right;
"Mod+Shift+WheelScrollUp".action = focus-column-left;
"Mod+Ctrl+Shift+WheelScrollDown".action = move-column-right;
"Mod+Ctrl+Shift+WheelScrollUp".action = move-column-left;
"Mod+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
"Mod+Comma".action = consume-window-into-column;
"Mod+Period".action = expel-window-from-column;
"Mod+R".action = switch-preset-column-width;
"Mod+Shift+R".action = switch-preset-window-height;
"Mod+Ctrl+R".action = reset-window-height;
"Mod+F".action = maximize-column;
"Mod+Shift+F".action = fullscreen-window;
"Mod+C".action = center-column;
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Ctrl+X".action = toggle-window-floating;
"Mod+Alt+X".action = switch-focus-between-floating-and-tiling;
"Mod+X".action = focus-workspace "scratchpad";
"Print".action = screenshot;
"Ctrl+Print".action = screenshot-screen;
"Alt+Print".action = screenshot-window;
# The quit action will show a confirmation dialog to avoid accidental exits.
"Mod+Shift+E".action = quit;
# Powers off the monitors. To turn them back on, do any input like
# moving the mouse or pressing any other key.
"Mod+Shift+P".action = power-off-monitors;
};
};
};
};
}

212
modules/home/shell-conf.nix Normal file
View file

@ -0,0 +1,212 @@
{ nix-config, inputs, pkgs, ... }:
{
home.packages = with pkgs; [
inputs.isd.packages.x86_64-linux.default
just
readline
rlwrap
yt-dlp
erdtree
age
figlet
ffmpeg-full
pinentry
gcr
gnutar
libnotify
unzip
zip
stdenv
tldr
delta
htop
gnupg
imagemagick
gnutls
gettext
gnumake
nix-index
nix-du
usbutils
pciutils
util-linux
coreutils
binutils
editorconfig-core-c
openssl.out
libsecret
samba4Full
shellcheck
libffi.dev
nodejs_18
platformio-core
icloudpd
pkg-config
ftgl
gperf
numbat
glpng
nurl
# global node packages
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages.prettier
nodePackages.javascript-typescript-langserver
nodePackages.stylelint
nodePackages.svelte-language-server
nodePackages.typescript
nodePackages.js-beautify
nixd
nixdoc
nix-init
git-annex
bfg-repo-cleaner
fishPlugins.foreign-env
fishPlugins.fzf-fish
fishPlugins.bass
fishPlugins.autopair
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
ghostscript
playerctl
];
programs = {
direnv = {
enable = true;
nix-direnv.enable = true;
};
fish = {
enable = true;
shellAliases = {
"ls" = "eza";
".j" = "just -g";
"em" = "emacsclient -n -r";
"mkdir" = "mkdir -pv";
};
interactiveShellInit = ''
bind --erase \ct
'';
plugins = [
{
name = "upto";
src = pkgs.fetchFromGitHub {
owner = "Markcial";
repo = "upto";
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
};
}
];
};
zoxide = {
enable = true;
};
starship = {
enable = true;
};
ripgrep = {
enable = true;
};
thefuck = {
enable = true;
};
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
# extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
};
bat = {
enable = true;
};
borgmatic = {
enable = true;
backups = {
eddie = {
location = {
patterns = [
"R /home/emenel"
"- home/emenel/.cache"
"- home/emenel/.nix*"
"- home/emenel/.steam*"
"- home/emenel/Dropbox"
"- home/emenel/Sync"
"- home/emenel/.dropbox*"
"- home/emenel/.BitwigStudio"
"- home/emenel/.local/share/bitwig"
];
repositories = [
{
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
"label" = "eddie on borgbase";
}
];
};
retention = {
keepDaily = 3;
keepHourly = 3;
keepMonthly = 2;
};
};
};
};
eza = {
enable = true;
};
fd = {
enable = true;
};
fzf = {
enable = true;
enableFishIntegration = false;
};
broot = {
enable = true;
};
git = {
enable = true;
lfs.enable = true;
};
htop.enable = true;
lazygit.enable = true;
jq.enable = true;
rbw = {
enable = true;
package = nix-config.packages.x86_64-linux.rbw-latest;
};
};
home.file.".ssh/config".source = ../../homes/emenel/dotfiles/dot_ssh/config;
xdg.configFile."starship.toml".source = ../../homes/emenel/dotfiles/dot_config/starship.toml;
xdg.configFile."wezterm" = {
recursive = true;
source = ../../homes/emenel/dotfiles/dot_config/wezterm;
};
xdg.configFile."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile;
xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git;
xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw;
home.file.".config/fish/functions" = {
source = ../../homes/emenel/dotfiles/dot_config/fish/functions;
recursive = true;
};
home.file.".config/fish/completions" = {
source = ../../homes/emenel/dotfiles/dot_config/fish/completions;
recursive = true;
};
home.file.".local/share/flf".source = ../../homes/emenel/dotfiles/dot_local/share/flf;
}

21
modules/home/shikane.nix Normal file
View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, ... }:
{
home.packages = [ pkgs.shikane ];
systemd.user.services.shikane = {
Unit = {
Description = "Shikane";
PartOf = [ "graphical-session.target" ];
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
ExecStart = "shikane";
};
};
xdg.configFile."shikane".source = ../../homes/emenel/dotfiles/dot_config/shikane;
}

View file

@ -14,4 +14,6 @@
}; };
}; };
xdg.configFile."yazi/theme.toml".source = ../../homes/emenel/dotfiles/dot_config/yazi/theme.toml;
xdg.configFile."yazi/flavors".source = ../../homes/emenel/dotfiles/dot_config/yazi/flavors;
} }

View file

@ -1,5 +1,7 @@
{ pkgs, ... }:
{ {
programs.niri = { programs.niri = {
enable = true; enable = true;
package = pkgs.niri-unstable;
}; };
} }

View file

@ -1,9 +0,0 @@
final: prev: {
bitwig-studio = prev.bitwig-studio.overrideAttrs (old: {
src = prev.fetchurl {
name = "bitwig-studio-5.3-beta-7.deb";
url = "https://downloads-secure.bitwig.com/5.3%20Beta%207/bitwig-studio-5.3-beta-7.deb?__token__=st=1738511951.0~exp=1738512551.0~hmac=06d510d143491f9bf2444aec8b2876ea606d9208e2753dcf15710fb3c2ceb0d3&source_url=/dl/Bitwig%20Studio/5.3%20Beta%207/installer_linux/";
sha256 = "sha256-CqDDz/N3Cm4BqkOI6PYACkyXZkqIRV7A3G5q7ekrMaE=";
};
});
}