Compare commits
18 Commits
2eb24167e5
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ed84d8068 | |||
| 4eba766188 | |||
| b4f1d2381a | |||
| 3f38b0b474 | |||
| 8c5c071897 | |||
| 823302f7e5 | |||
| f5b429f704 | |||
| 965a0a714b | |||
| 870b3941c0 | |||
| 717ade35db | |||
| 1d41bf6bf1 | |||
| 01e84a3561 | |||
| 2c13658e89 | |||
| 551e9b2cb4 | |||
| 8f9b707c2d | |||
| 83aa051d92 | |||
| 98069fa8d9 | |||
| 077d8f07e7 |
Generated
+59
-59
@@ -17,11 +17,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779522232,
|
||||
"narHash": "sha256-43PUS3kPWEWVArFV9h1m4mrWIdHeeVXv7kdteYhobOs=",
|
||||
"lastModified": 1781331278,
|
||||
"narHash": "sha256-8IM7jJnnkhbKDbq39q4BS+DbE5CrsT4UhFtmcUDvVjE=",
|
||||
"owner": "mrshmllow",
|
||||
"repo": "affinity-nix",
|
||||
"rev": "328f8f66e375c64255dc3cb3453271aab4d4c273",
|
||||
"rev": "f112cdef13bbd13e1067e72804c18c7622357547",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -116,11 +116,11 @@
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1779130139,
|
||||
"narHash": "sha256-BLrtr42azquO7MdGFU5a7KiMl3YpFlTeIXqy1fT5GlQ=",
|
||||
"lastModified": 1780532242,
|
||||
"narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "edb38893982a3338972bb4a2ec7ce7c29ba10fd9",
|
||||
"rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -138,11 +138,11 @@
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779270500,
|
||||
"narHash": "sha256-r60KTphdevmdIDz1iJ529HvcpOq082ZZ1OnN3jDnrqk=",
|
||||
"lastModified": 1781086641,
|
||||
"narHash": "sha256-2oBncBeL671Tf6TnYqk36ebkfPHNYPKwz5at8NcrpvI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "848395a91def85c11694587636151d89555f1ddb",
|
||||
"rev": "640606300f74b4891bfa1a51f5756450f9fdc7f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -181,11 +181,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1779508957,
|
||||
"narHash": "sha256-gNwsa7Hwp+pUNe9pvv2aFphcFnm8BoCUUQRm0HXJHD0=",
|
||||
"lastModified": 1781323358,
|
||||
"narHash": "sha256-W8SFmaIEW4tP4jQ48EJSSVnO8s4gZ1j1D4K22tW9pd8=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "3bd76938b820b6f7cf537fffa206bb6a73094b4f",
|
||||
"rev": "89503b569dd29491d5c58bf41c244253fcd3d2b3",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@@ -198,11 +198,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1776136500,
|
||||
"narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=",
|
||||
"lastModified": 1779670703,
|
||||
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "0f8ba203d475587f477e7ae12661bd8459e225b7",
|
||||
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -265,11 +265,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -383,11 +383,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779507042,
|
||||
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
|
||||
"lastModified": 1781305496,
|
||||
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
|
||||
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -456,11 +456,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1779508470,
|
||||
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
|
||||
"lastModified": 1781074563,
|
||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "29916453413845e54a65b8a1cf996842300cd299",
|
||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -509,11 +509,11 @@
|
||||
"noctalia-qs": "noctalia-qs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779504029,
|
||||
"narHash": "sha256-f8u9DV9Qk8KJh7DVvk4UgUFTN0NDJeFxgrffTSwPkpA=",
|
||||
"lastModified": 1780889763,
|
||||
"narHash": "sha256-18kh968u0hhtDyECo0FBnlEnJLDxs0uB5H5QbWA9P3I=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "b99b7a7f06ff749df9ac43181ff7889ff90c5599",
|
||||
"rev": "57be32b0a81471ef6c5dceff6faad23b534ec7f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -532,11 +532,11 @@
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778983195,
|
||||
"narHash": "sha256-hE3EFK5GoSdbO5WHZ8bZDUVYkofbDLQN/KK25z7IOOI=",
|
||||
"lastModified": 1780799499,
|
||||
"narHash": "sha256-YloRtLqJabzYUWvdLyh67zH4DZrR3kQj+dlQJwLPmPM=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-qs",
|
||||
"rev": "4116b41cdc89e186be7cb8b24a9b6022af95d742",
|
||||
"rev": "f308426239665e3bc3d624014e9295b2ae2f58ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -556,11 +556,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777598946,
|
||||
"narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=",
|
||||
"lastModified": 1780281641,
|
||||
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "5d55af01c0f86be583931fe99207fc56c14134b3",
|
||||
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -639,11 +639,11 @@
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779221047,
|
||||
"narHash": "sha256-HkOWI9C4kxA6xkS9GXhe4hAAme7ekOWje3b1U7rLSIo=",
|
||||
"lastModified": 1781005730,
|
||||
"narHash": "sha256-3Bn47a+Vs2/ltQfTU2ApWqy5kYNmF+RaTEJs0A/H2pA=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "f4bd646a7867c7814770168e0d4b9bd3418c1066",
|
||||
"rev": "587ce15e272b94d4f0a69d695e3718a02c24667e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -690,11 +690,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779378391,
|
||||
"narHash": "sha256-IsDb9erotvx9npI94UDosvMeYQK17p7/vmU2v9batrY=",
|
||||
"lastModified": 1781018772,
|
||||
"narHash": "sha256-C+cGIUaC6dqfwTbI+BwCd572PbESGA3WYxR1sLTqxkY=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "c1456cc4ba3c9485e7b4158c909eeca5a752cd59",
|
||||
"rev": "a378e4c09031fb15a4d65da88aa628f71fc52f6b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -720,16 +720,16 @@
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -752,11 +752,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777041405,
|
||||
"narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=",
|
||||
"lastModified": 1777806186,
|
||||
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "5f868b3a338b6904c47f3833b9c411be641983a8",
|
||||
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -768,11 +768,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777169200,
|
||||
"narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=",
|
||||
"lastModified": 1778379944,
|
||||
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac",
|
||||
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -784,11 +784,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777463218,
|
||||
"narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=",
|
||||
"lastModified": 1778378178,
|
||||
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "5768d08ed2e7944a26a958868cdb073cb8856dae",
|
||||
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -804,11 +804,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775636079,
|
||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||
"lastModified": 1780220602,
|
||||
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -826,11 +826,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775636079,
|
||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||
"lastModified": 1780220602,
|
||||
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -65,25 +65,14 @@
|
||||
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
||||
|
||||
mkHost = hostName: let
|
||||
inherit
|
||||
(import ./hosts/${hostName}/variables.nix)
|
||||
host
|
||||
username
|
||||
profile
|
||||
system
|
||||
;
|
||||
hostVars = import ./hosts/${hostName}/variables.nix;
|
||||
hostPrinterVars = import ./hosts/${hostName}/printers.nix;
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit username;
|
||||
inherit host;
|
||||
inherit profile;
|
||||
inherit system;
|
||||
};
|
||||
inherit (hostVars) system;
|
||||
specialArgs = hostVars // hostPrinterVars // {inherit inputs;};
|
||||
modules = [
|
||||
./profiles/${profile}
|
||||
./profiles/${hostVars.profile}
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
garandos-tui.nixosModules.garandos-tui
|
||||
];
|
||||
|
||||
@@ -7,12 +7,14 @@ _: {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
opencode.enable = false; # OpenCode: terminal coding agent
|
||||
ollama.enable = false; # Ollama: Local Llms
|
||||
|
||||
/*
|
||||
Web browsers
|
||||
*/
|
||||
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||
|
||||
/*
|
||||
System utilities
|
||||
@@ -33,6 +35,7 @@ _: {
|
||||
Gaming
|
||||
*/
|
||||
lutris.enable = false; # Lutris: an open gaming platform
|
||||
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||
|
||||
/*
|
||||
Media recording and streaming
|
||||
@@ -49,6 +52,16 @@ _: {
|
||||
*/
|
||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||
|
||||
/*
|
||||
Productivity / Knowledge Management
|
||||
*/
|
||||
obsidian = {
|
||||
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||
vaults = {
|
||||
"BoM".enable = true; # Blood of Mages: ttrpg session
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
XDG desktop entries (PWA)
|
||||
*/
|
||||
@@ -64,4 +77,18 @@ _: {
|
||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
Noctalia-shell plugins
|
||||
*/
|
||||
nooctalia-plugins = {
|
||||
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||
screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||
};
|
||||
}
|
||||
|
||||
@@ -68,7 +68,6 @@ _: {
|
||||
*/
|
||||
exercism.enable = false; # Exercism: coding practice platform
|
||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||
opencode.enable = false; # OpenCode: tools for coding and development
|
||||
jan.enable = true; # Jan: AI chat UI
|
||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||
|
||||
@@ -89,7 +88,7 @@ _: {
|
||||
*/
|
||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||
iotas.enable = true; # Iotas: lightweight notes manager
|
||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
|
||||
/*
|
||||
Media & Graphics
|
||||
@@ -100,8 +99,9 @@ _: {
|
||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||
kdenlive.enable = true; # Kdenlive: video editing software
|
||||
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
||||
plex.enable = true; # Plex: media player and server client
|
||||
plex.enable = false; # Plex: media player and server client
|
||||
jellyfin.enable = true; # Jellyfin: foss media player
|
||||
appImages.losslesscut.enable = true; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||
|
||||
/*
|
||||
Utilities / Misc
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
gitUsername = "GarandPLG";
|
||||
gitEmail = "garandplg@garandplg.com";
|
||||
|
||||
# User shell
|
||||
# Availabe options: "fish", "bash"
|
||||
shell = "fish";
|
||||
|
||||
# Hyprland Settings
|
||||
# Examples:
|
||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||
@@ -35,9 +39,6 @@
|
||||
# Enable NFS
|
||||
enableNFS = false;
|
||||
|
||||
# Enable Printing Support
|
||||
printEnable = true;
|
||||
|
||||
# Set Stylix Image
|
||||
# This will set your color palette
|
||||
# Default background
|
||||
|
||||
@@ -7,6 +7,8 @@ _: {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
opencode.enable = false; # OpenCode: terminal coding agent
|
||||
ollama.enable = false; # Ollama: Local Llms
|
||||
|
||||
/*
|
||||
Web browsers
|
||||
@@ -33,6 +35,7 @@ _: {
|
||||
Gaming
|
||||
*/
|
||||
lutris.enable = false; # Lutris: an open gaming platform
|
||||
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||
|
||||
/*
|
||||
Media recording and streaming
|
||||
@@ -49,6 +52,16 @@ _: {
|
||||
*/
|
||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||
|
||||
/*
|
||||
Productivity / Knowledge Management
|
||||
*/
|
||||
obsidian = {
|
||||
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||
vaults = {
|
||||
"BoM".enable = true; # Blood of Mages: ttrpg session
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
XDG desktop entries (PWA)
|
||||
*/
|
||||
@@ -64,4 +77,18 @@ _: {
|
||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
Noctalia-shell plugins
|
||||
*/
|
||||
nooctalia-plugins = {
|
||||
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||
};
|
||||
}
|
||||
|
||||
@@ -68,7 +68,6 @@ _: {
|
||||
*/
|
||||
exercism.enable = false; # Exercism: coding practice platform
|
||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||
opencode.enable = false; # OpenCode: tools for coding and development
|
||||
jan.enable = true; # Jan: AI chat UI
|
||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||
|
||||
@@ -89,7 +88,7 @@ _: {
|
||||
*/
|
||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||
iotas.enable = true; # Iotas: lightweight notes manager
|
||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
|
||||
/*
|
||||
Media & Graphics
|
||||
@@ -100,8 +99,9 @@ _: {
|
||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||
kdenlive.enable = false; # Kdenlive: video editing software
|
||||
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
||||
plex.enable = true; # Plex: media player and server client
|
||||
plex.enable = false; # Plex: media player and server client
|
||||
jellyfin.enable = true; # Jellyfin: foss media player
|
||||
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||
|
||||
/*
|
||||
Utilities / Misc
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
gitUsername = "GarandPLG";
|
||||
gitEmail = "garandplg@garandplg.com";
|
||||
|
||||
# User shell
|
||||
# Availabe options: "fish", "bash"
|
||||
shell = "fish";
|
||||
|
||||
# Hyprland Settings
|
||||
# Examples:
|
||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||
|
||||
@@ -4,21 +4,23 @@ _: {
|
||||
*/
|
||||
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
||||
zed-editor = {
|
||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||
enable = false; # Zed Editor: a modern, high‑performance code editor
|
||||
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||
};
|
||||
opencode.enable = false; # OpenCode: terminal coding agent
|
||||
ollama.enable = false; # Ollama: Local Llms
|
||||
|
||||
/*
|
||||
Web browsers
|
||||
*/
|
||||
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||
librewolf.enable = false; # Librewolf: a privacy-focused Firefox fork
|
||||
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||
|
||||
/*
|
||||
System utilities
|
||||
*/
|
||||
btop.enable = true; # Btop: a resource monitor for the terminal
|
||||
easyeffects.enable = true; # EasyEffects: Audio effects for PipeWire applications
|
||||
easyeffects.enable = false; # EasyEffects: Audio effects for PipeWire applications
|
||||
cava.enable = false; # Cava: terminal audio visualizer
|
||||
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
||||
|
||||
@@ -26,13 +28,14 @@ _: {
|
||||
Communication and synchronization
|
||||
*/
|
||||
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
||||
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
|
||||
vesktop.enable = true; # Vesktop: a community‑driven Discord client
|
||||
nextcloud-client.enable = false; # Nextcloud Client: sync files with a Nextcloud server
|
||||
vesktop.enable = false; # Vesktop: a community‑driven Discord client
|
||||
|
||||
/*
|
||||
Gaming
|
||||
*/
|
||||
lutris.enable = false; # Lutris: an open gaming platform
|
||||
mangohud.enable = false; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||
|
||||
/*
|
||||
Media recording and streaming
|
||||
@@ -42,26 +45,50 @@ _: {
|
||||
/*
|
||||
Office suite
|
||||
*/
|
||||
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||
onlyoffice.enable = false; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||
|
||||
/*
|
||||
Learning tools
|
||||
*/
|
||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||
anki.enable = false; # Anki: spaced‑repetition flashcard program
|
||||
|
||||
/*
|
||||
Productivity / Knowledge Management
|
||||
*/
|
||||
obsidian = {
|
||||
enable = false; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||
vaults = {
|
||||
"BoM".enable = false; # Blood of Mages: ttrpg session
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
XDG desktop entries (PWA)
|
||||
*/
|
||||
xdgDesktopEntries = {
|
||||
enable = true; # Enable XDG desktop entries
|
||||
enable = false; # Enable XDG desktop entries
|
||||
entries = {
|
||||
messenger.enable = true; # Messenger: Facebook Messenger
|
||||
mastodon.enable = true; # Mastodon: a decentralized social network
|
||||
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
|
||||
chatgpt.enable = true; # ChatGPT: a large language model
|
||||
claude.enable = true; # Claude: a large language model
|
||||
glance.enable = true; # Glance: my home server dashboard
|
||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
||||
messenger.enable = false; # Messenger: Facebook Messenger
|
||||
mastodon.enable = false; # Mastodon: a decentralized social network
|
||||
garandcloud.enable = false; # GarandCloud: my Nextcloud instance
|
||||
chatgpt.enable = false; # ChatGPT: a large language model
|
||||
claude.enable = false; # Claude: a large language model
|
||||
glance.enable = false; # Glance: my home server dashboard
|
||||
jellyfinClient.enable = false; # Jellyfin: My Jellyfin
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
Noctalia-shell plugins
|
||||
*/
|
||||
nooctalia-plugins = {
|
||||
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||
keybind-cheatsheet.enable = false; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||
kde-connect.enable = false; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||
screenshot.enable = false; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||
ntfy-notifications.enable = false; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||
tailscale.enable = false; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ _: {
|
||||
/*
|
||||
Container & Packaging
|
||||
*/
|
||||
docker.enable = true; # Docker: container runtime and management
|
||||
docker.enable = false; # Docker: container runtime and management
|
||||
virtualbox.enable = false; # VirtualBox: PC emulator
|
||||
flatpak = {
|
||||
enable = true; # Flatpak: universal packaging system for Linux
|
||||
enable = false; # Flatpak: universal packaging system for Linux
|
||||
packages = {
|
||||
sober.enable = false; # Roblox client
|
||||
warehouse.enable = true; # Flatpak manager
|
||||
flatseal.enable = true; # Flatpak permissions manager
|
||||
warehouse.enable = false; # Flatpak manager
|
||||
flatseal.enable = false; # Flatpak permissions manager
|
||||
upscaler.enable = false; # Upscaler: Upscale and enhance images
|
||||
};
|
||||
};
|
||||
@@ -22,14 +22,14 @@ _: {
|
||||
/*
|
||||
Calendar & Contacts
|
||||
*/
|
||||
calendar.enable = true; # GNOME Calendar: calendar and contacts application
|
||||
calendar.enable = false; # GNOME Calendar: calendar and contacts application
|
||||
|
||||
/*
|
||||
Gaming
|
||||
*/
|
||||
gamemode.enable = true; # GameMode: optimizes system performance for gaming
|
||||
gamemode.enable = false; # GameMode: optimizes system performance for gaming
|
||||
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
||||
steam.enable = true; # Steam: platform for buying and playing games
|
||||
steam.enable = false; # Steam: platform for buying and playing games
|
||||
|
||||
/*
|
||||
Media & Graphics
|
||||
@@ -59,27 +59,26 @@ _: {
|
||||
Gaming
|
||||
*/
|
||||
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
|
||||
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
|
||||
ttySolitaire.enable = true; # TTY Solitaire: terminal‑based solitaire game
|
||||
spaceCadetPinball.enable = false; # SpaceCadet Pinball: classic pinball game
|
||||
ttySolitaire.enable = false; # TTY Solitaire: terminal‑based solitaire game
|
||||
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||
|
||||
/*
|
||||
Development Tools
|
||||
*/
|
||||
exercism.enable = true; # Exercism: coding practice platform
|
||||
exercism.enable = false; # Exercism: coding practice platform
|
||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||
opencode.enable = false; # OpenCode: tools for coding and development
|
||||
jan.enable = true; # Jan: AI chat UI
|
||||
jan.enable = false; # Jan: AI chat UI
|
||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||
|
||||
/*
|
||||
Communication & Collaboration
|
||||
*/
|
||||
mattermost.enable = true; # Mattermost: open‑source Slack alternative
|
||||
mattermost.enable = false; # Mattermost: open‑source Slack alternative
|
||||
slack.enable = false; # Slack: team communication and collaboration tool
|
||||
tutanota.enable = true; # Tutanota: secure email client
|
||||
signal.enable = true; # Signal: secure messaging app
|
||||
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||
tutanota.enable = false; # Tutanota: secure email client
|
||||
signal.enable = false; # Signal: secure messaging app
|
||||
teams.enable = false; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
||||
notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications
|
||||
appImages.fluxer.enable = false; # Fluxer: Discord alternative
|
||||
@@ -88,26 +87,27 @@ _: {
|
||||
Productivity / Knowledge Management
|
||||
*/
|
||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||
iotas.enable = true; # Iotas: lightweight notes manager
|
||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
iotas.enable = false; # Iotas: lightweight notes manager
|
||||
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||
|
||||
/*
|
||||
Media & Graphics
|
||||
*/
|
||||
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
|
||||
eyeOfGnome.enable = false; # Eye of GNOME: image viewer
|
||||
switcheroo.enable = false; # Switcheroo: file conversion tool
|
||||
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||
kdenlive.enable = false; # Kdenlive: video editing software
|
||||
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
|
||||
plex.enable = true; # Plex: media player and server client
|
||||
jellyfin.enable = true; # Jellyfin: foss media player
|
||||
plex.enable = false; # Plex: media player and server client
|
||||
jellyfin.enable = false; # Jellyfin: foss media player
|
||||
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||
|
||||
/*
|
||||
Utilities / Misc
|
||||
*/
|
||||
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
|
||||
gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
|
||||
eddieAirVPN.enable = false; # Eddie AirVPN: VPN client
|
||||
gnomeCalculator.enable = false; # gnomeCalculator: simple calculator
|
||||
gedit.enable = false; # Gedit: GNOME text editor
|
||||
winboat.enable = false; # Winboat: Windows remote desktop via RDP
|
||||
adb.enable = false; # ADB: Android SDK platform tools
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
gitUsername = "GarandPLG";
|
||||
gitEmail = "my@email.com";
|
||||
|
||||
# User shell
|
||||
# Availabe options: "fish", "bash"
|
||||
shell = "fish";
|
||||
|
||||
# Hyprland Settings
|
||||
# Examples:
|
||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||
@@ -37,9 +41,6 @@
|
||||
# Enable NFS
|
||||
enableNFS = false;
|
||||
|
||||
# Enable Printing Support
|
||||
printEnable = false;
|
||||
|
||||
# Themes, waybar and animation.
|
||||
# Only uncomment your selection
|
||||
# The others much be commented out.
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
host,
|
||||
profile,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) profile;
|
||||
in {
|
||||
}: {
|
||||
options.docker.enable = lib.mkEnableOption "Docker";
|
||||
|
||||
config.virtualisation.docker = lib.mkIf config.docker.enable {
|
||||
|
||||
@@ -6,11 +6,9 @@
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
#vt = 3;
|
||||
settings = {
|
||||
default_session = {
|
||||
settings.default_session = {
|
||||
user = username;
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{
|
||||
host,
|
||||
hostId,
|
||||
options,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
||||
in {
|
||||
}: {
|
||||
# Defensive assertion for hostname validity (clearer message at eval time)
|
||||
assertions = [
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
||||
in {
|
||||
{enableNFS, ...}: {
|
||||
services = {
|
||||
rpcbind.enable = enableNFS;
|
||||
nfs.server.enable = enableNFS;
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
appImagePackages = {
|
||||
fluxer = pkgs.callPackage ./fluxer.nix {};
|
||||
helium = pkgs.callPackage ./helium.nix {};
|
||||
# logseq = pkgs.callPackage ./logseq.nix {};
|
||||
losslesscut = pkgs.callPackage ./losslesscut.nix {};
|
||||
};
|
||||
in {
|
||||
imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages);
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
}: let
|
||||
pname = "fluxer";
|
||||
version = "canary";
|
||||
hash = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage";
|
||||
sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
|
||||
sha256 = hash;
|
||||
};
|
||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
fetchurl,
|
||||
}: let
|
||||
pname = "helium";
|
||||
version = "0.12.4.1";
|
||||
version = "0.13.4.1";
|
||||
hash = "sha256-z23up+T6bj6F+cQslmI92bEksIAw1OQHRIrmQSaaxY8=";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage";
|
||||
sha256 = "sha256-OgS8HkLBseFrEhNFJxMwp1bg0gzPdfY1VaySAAp7vq0=";
|
||||
sha256 = hash;
|
||||
};
|
||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
}: let
|
||||
pname = "logseq";
|
||||
version = "0.10.15";
|
||||
hash = "sha256-i5EQUvSW1ix+8NT8nCs6mGH2B9xF7G4mB7vBhDJ7JdE=";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/logseq/logseq/releases/download/${version}/Logseq-linux-x64-${version}.AppImage";
|
||||
sha256 = hash;
|
||||
};
|
||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||
|
||||
iconSize = "512x512";
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
# mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \
|
||||
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Logseq";
|
||||
homepage = "https://github.com/logseq/logseq";
|
||||
license = licenses.gpl3;
|
||||
platforms = ["x86_64-linux"];
|
||||
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||
maintainers = with lib.maintainers; [garand_plg];
|
||||
};
|
||||
}
|
||||
# https://github.com/logseq/logseq/releases/download/0.10.15/Logseq-linux-x64-0.10.15.AppImage
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
}: let
|
||||
pname = "losslesscut";
|
||||
version = "3.69.0";
|
||||
hash = "sha256-F56q4nv/viWmVJpKcUR0EmtXwojO/DBwRvycYxOhJnY=";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mifi/lossless-cut/releases/download/v${version}/LosslessCut-linux-x86_64.AppImage";
|
||||
sha256 = hash;
|
||||
};
|
||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||
|
||||
iconSize = "512x512";
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
# mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \
|
||||
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lossless cut";
|
||||
homepage = "https://github.com/mifi/lossless-cut";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = ["x86_64-linux"];
|
||||
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||
maintainers = with lib.maintainers; [garand_plg];
|
||||
};
|
||||
}
|
||||
# https://github.com/mifi/lossless-cut/releases/download/v3.68.0/LosslessCut-linux-x86_64.AppImage
|
||||
|
||||
@@ -19,12 +19,11 @@
|
||||
gnomeCalculator = gnome-calculator;
|
||||
gedit = gedit;
|
||||
iotas = iotas;
|
||||
logseq = logseq;
|
||||
# logseq = logseq;
|
||||
mattermost = mattermost-desktop;
|
||||
slack = slack;
|
||||
tutanota = tutanota-desktop;
|
||||
exercism = exercism;
|
||||
opencode = opencode;
|
||||
jan = jan;
|
||||
lazygit = lazygit;
|
||||
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
|
||||
@@ -32,7 +31,9 @@
|
||||
ttySolitaire = tty-solitaire;
|
||||
gimp = gimp;
|
||||
eyeOfGnome = eog;
|
||||
kdenlive = kdePackages.kdenlive.overrideAttrs (old: {
|
||||
kdenlive =
|
||||
kdePackages.kdenlive.overrideAttrs
|
||||
(old: {
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ ''
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
_: {
|
||||
{shell, ...}: {
|
||||
programs = {
|
||||
nano.enable = true;
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = false;
|
||||
};
|
||||
|
||||
fish.enable =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
|
||||
dconf.enable = true;
|
||||
|
||||
seahorse.enable = true;
|
||||
|
||||
fuse.userAllowOther = true;
|
||||
|
||||
mtr.enable = true;
|
||||
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
# libraries = with pkgs; [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
host,
|
||||
printEnable,
|
||||
ensureDefaultPrinter,
|
||||
ensurePrinters,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/printers.nix) printEnable ensureDefaultPrinter ensurePrinters;
|
||||
in {
|
||||
}: {
|
||||
services = lib.mkIf printEnable {
|
||||
printing = {
|
||||
enable = true;
|
||||
|
||||
+10
-8
@@ -18,10 +18,10 @@
|
||||
dedicatedServer.openFirewall = true;
|
||||
gamescopeSession = lib.mkIf config.gamescope.enable {
|
||||
enable = true;
|
||||
args = [
|
||||
"--rt"
|
||||
"--expose-wayland"
|
||||
];
|
||||
# args = [
|
||||
# "--rt"
|
||||
# "--expose-wayland"
|
||||
# ];
|
||||
};
|
||||
extraCompatPackages = [pkgs.proton-ge-bin];
|
||||
};
|
||||
@@ -29,10 +29,10 @@
|
||||
gamescope = lib.mkIf config.gamescope.enable {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
args = [
|
||||
"--rt"
|
||||
"--expose-wayland"
|
||||
];
|
||||
# args = [
|
||||
# # "--rt"
|
||||
# # "--expose-wayland"
|
||||
# ];
|
||||
};
|
||||
|
||||
gamemode = lib.mkIf config.gamemode.enable {
|
||||
@@ -41,3 +41,5 @@
|
||||
};
|
||||
};
|
||||
}
|
||||
# gamescope -W 1920 -H 1080 -r 144 --force-grab-cursor -f --mangoapp --rt --expose-wayland --
|
||||
|
||||
|
||||
+10
-5
@@ -1,10 +1,8 @@
|
||||
{
|
||||
pkgs,
|
||||
host,
|
||||
stylixImage,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
||||
in {
|
||||
}: {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
@@ -36,7 +34,8 @@ in {
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
targets.limine = {
|
||||
targets = {
|
||||
limine = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
image.enable = true;
|
||||
@@ -45,5 +44,11 @@ in {
|
||||
override = "tile";
|
||||
};
|
||||
};
|
||||
kmscon = {
|
||||
enable = false;
|
||||
colors.enable = true;
|
||||
fonts.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+10
-6
@@ -1,10 +1,8 @@
|
||||
{
|
||||
host,
|
||||
consoleKeyMap,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
||||
in {
|
||||
}: {
|
||||
nix = {
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
settings = {
|
||||
@@ -14,8 +12,14 @@ in {
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
substituters = [
|
||||
"https://hyprland.cachix.org"
|
||||
"https://noctalia.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
|
||||
];
|
||||
};
|
||||
};
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
+22
-4
@@ -5,10 +5,14 @@
|
||||
host,
|
||||
profile,
|
||||
system,
|
||||
gitUsername,
|
||||
shell,
|
||||
extraMonitorSettings,
|
||||
keyboardLayout,
|
||||
gitEmail,
|
||||
location,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
||||
in {
|
||||
}: {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
@@ -21,6 +25,12 @@ in {
|
||||
host
|
||||
profile
|
||||
system
|
||||
extraMonitorSettings
|
||||
shell
|
||||
keyboardLayout
|
||||
gitEmail
|
||||
gitUsername
|
||||
location
|
||||
;
|
||||
};
|
||||
users.${username} = {
|
||||
@@ -33,6 +43,10 @@ in {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "25.11";
|
||||
shell.enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -53,7 +67,11 @@ in {
|
||||
"gamemode"
|
||||
"lpadmin"
|
||||
];
|
||||
shell = pkgs.bash;
|
||||
shell = with pkgs; (
|
||||
if shell == "fish"
|
||||
then fish
|
||||
else bash
|
||||
);
|
||||
ignoreShellProgramCheck = true;
|
||||
linger = true;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
||||
in {
|
||||
{keyboardLayout, ...}: {
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
package = pkgs.anki;
|
||||
language = "pl_PL";
|
||||
style = "native";
|
||||
profiles."${username}".sync.username = username;
|
||||
profiles."${username}" = {
|
||||
default = true;
|
||||
sync = {
|
||||
username = username;
|
||||
url = "https://ass.garandplg.com/";
|
||||
autoSync = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
upd = "nh os switch -H ${host} -d always";
|
||||
upg = "nh os switch -H ${host} --update -d always";
|
||||
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
||||
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
|
||||
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
||||
upd-bt = "nh os boot -H ${host} -d always";
|
||||
upd-ts = "nh os test -H ${host} -d always";
|
||||
@@ -140,8 +141,8 @@
|
||||
|
||||
# Network aliases
|
||||
kssh-server = "kssh hp-t640-homeserver";
|
||||
kssh-server-ts = "kssh hp-t640-homeserver-tailscale";
|
||||
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
|
||||
ssh-server = "ssh hp-t640-homeserver";
|
||||
ssh-server-ts = "ssh hp-t640-homeserver-tailscale";
|
||||
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
_: {
|
||||
{shell, ...}: {
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enable =
|
||||
if shell == "bash"
|
||||
then true
|
||||
else false;
|
||||
enableCompletion = true;
|
||||
# initExtra = ''
|
||||
# fastfetch
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
batgrep
|
||||
];
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
||||
MANROFFOPT = "-c";
|
||||
|
||||
@@ -3,10 +3,12 @@ _: {
|
||||
./bash
|
||||
./chromium
|
||||
./fastfetch
|
||||
./fish
|
||||
./hyprland
|
||||
./kitty
|
||||
./librewolf
|
||||
./noctalia
|
||||
./obsidian
|
||||
./scripts
|
||||
./vscodium
|
||||
./xdg
|
||||
@@ -16,16 +18,19 @@ _: {
|
||||
./btop.nix
|
||||
./cava.nix
|
||||
./easyeffects.nix
|
||||
./emoji.nix
|
||||
./eza.nix
|
||||
./fzf.nix
|
||||
./gh.nix
|
||||
./git.nix
|
||||
./gtk.nix
|
||||
./kdeConnect.nix
|
||||
./lutris.nix
|
||||
./mangohud.nix
|
||||
./nextcloud.nix
|
||||
./obs-studio.nix
|
||||
./ollama.nix
|
||||
./onlyoffice.nix
|
||||
./opencode.nix
|
||||
./qt.nix
|
||||
./ssh.nix
|
||||
./starship.nix
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,15 @@
|
||||
# Eza is a ls replacement
|
||||
{
|
||||
{shell, ...}: {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
icons = "auto";
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
enableBashIntegration =
|
||||
if shell == "bash"
|
||||
then true
|
||||
else false;
|
||||
git = true;
|
||||
|
||||
extraOptions = [
|
||||
|
||||
@@ -122,9 +122,7 @@ _: {
|
||||
{
|
||||
type = "command";
|
||||
key = "│ IN";
|
||||
text =
|
||||
#bash
|
||||
''
|
||||
text = ''
|
||||
birth_install=$(stat -c %W /)
|
||||
if [ "$birth_install" -gt 0 ]; then
|
||||
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
|
||||
@@ -136,9 +134,7 @@ _: {
|
||||
{
|
||||
type = "command";
|
||||
key = "│ ├ ";
|
||||
text =
|
||||
#bash
|
||||
''
|
||||
text = ''
|
||||
birth_install=$(stat -c %W /)
|
||||
current=$(date +%s)
|
||||
delta=$((current - birth_install))
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
{
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
programs.fish.shellAliases = {
|
||||
# GarandOS aliases
|
||||
pullos = "git -C /home/${username}/garandos pull";
|
||||
upd = "nh os switch -H ${host} -d always";
|
||||
upg = "nh os switch -H ${host} --update -d always";
|
||||
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
||||
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
|
||||
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
||||
upd-bt = "nh os boot -H ${host} -d always";
|
||||
upd-ts = "nh os test -H ${host} -d always";
|
||||
upd-bd = "nh os build -H ${host} -d always";
|
||||
tui = "garandos-tui";
|
||||
ncg = "nh clean all --optimise";
|
||||
|
||||
# Development aliases
|
||||
## Django
|
||||
srvenv = "source .venv/bin/activate";
|
||||
"..srvenv" = "source ../.venv/bin/activate";
|
||||
uv-add = "uv add -r requirements.txt";
|
||||
pm = "uv run manage.py";
|
||||
pm-rs = "uv run manage.py runserver";
|
||||
pm-mg = "uv run manage.py migrate";
|
||||
pm-mm = "uv run manage.py makemigrations";
|
||||
pm-sq = "uv run manage.py sqlmigrate";
|
||||
f8 = "uv run flake8 .";
|
||||
## JavaScript/TypeScript
|
||||
bbr = "bun --bun run";
|
||||
## Git
|
||||
"ga." = "git add .";
|
||||
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
||||
|
||||
# Development aliases for nix flake
|
||||
nd = "nix develop";
|
||||
nb = "nix build .";
|
||||
nr = "nix run .";
|
||||
nbr = "nix build . && nix run .";
|
||||
nbd = "nix build .#develop";
|
||||
nrd = "nix run .#develop";
|
||||
nbrd = "nix build .#develop && nix run .#develop";
|
||||
|
||||
# Development aliases for docker
|
||||
dcu = "docker compose up -d";
|
||||
dcd = "docker compose down";
|
||||
dcb = "docker compose build";
|
||||
dcub = "docker compose up -d --build";
|
||||
|
||||
# System aliases
|
||||
# flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
||||
kys = "systemctl poweroff";
|
||||
jezus = "systemctl reboot";
|
||||
ookla = "speedtest";
|
||||
hypr-cli = "hyprctl clients";
|
||||
|
||||
# Navigation aliases
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../..";
|
||||
"...." = "cd ../../..";
|
||||
"....." = "cd ../../../..";
|
||||
|
||||
# Modifies commands
|
||||
cat = "bat";
|
||||
cp = "cp -i";
|
||||
mv = "mv -i";
|
||||
rm = "trash -v";
|
||||
mkdir = "mkdir -p";
|
||||
ps = "ps auxf";
|
||||
ping = "ping -c 10";
|
||||
less = "less -R";
|
||||
cls = "clear";
|
||||
multitail = "multitail --no-repeat -c";
|
||||
freshclam = "sudo freshclam";
|
||||
|
||||
# Alias"s for multiple directory listing commands
|
||||
la = "eza -alh --icons"; # show hidden files
|
||||
ls = "eza -aF --icons --color=always"; # add colors and file type extensions
|
||||
lx = "eza -lh --icons --sort=extension"; # sort by extension
|
||||
lk = "eza -lh --icons --sort=size --reverse"; # sort by size
|
||||
lc = "eza -lh --icons --sort=changed"; # sort by change time
|
||||
lu = "eza -lh --icons --sort=accessed"; # sort by access time
|
||||
lr = "eza -lh --icons --recurse"; # recursive ls
|
||||
lt = "eza -lh --icons --sort=modified"; # sort by date
|
||||
lm = "eza -alh --icons | more"; # pipe through "more"
|
||||
lw = "eza -xh --icons"; # wide listing format
|
||||
ll = "eza -lh --icons"; # long listing format
|
||||
labc = "eza -lah --icons --sort=name"; # alphabetical sort
|
||||
lf = "eza -lh --icons | grep -v '^d'"; # files only (przybliżenie)
|
||||
ldir = "eza -lh --icons --only-dirs"; # directories only
|
||||
lla = "eza -alh --icons"; # List and Hidden Files
|
||||
las = "eza -a --icons"; # Hidden Files
|
||||
lls = "eza -lh --icons"; # List
|
||||
|
||||
# chmod commands
|
||||
mx = "chmod a+x";
|
||||
"000" = "chmod -R 000";
|
||||
"644" = "chmod -R 644";
|
||||
"666" = "chmod -R 666";
|
||||
"755" = "chmod -R 755";
|
||||
"777" = "chmod -R 777";
|
||||
|
||||
# Search command line history
|
||||
h = "history | grep ";
|
||||
|
||||
# Search running processes
|
||||
p = "ps aux | grep ";
|
||||
topcpu = "/bin/ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10";
|
||||
|
||||
# Search files in the current folder
|
||||
f = "find . | grep ";
|
||||
|
||||
# Alias"s to show disk space and space used in a folder
|
||||
diskspace = "du -S | sort -n -r |more";
|
||||
folders = "du -h --max-depth=1";
|
||||
folderssort = "find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn";
|
||||
tree = "tree -CAhF --dirsfirst";
|
||||
treed = "tree -CAFd";
|
||||
mountedinfo = "df -hT";
|
||||
|
||||
# fix kitty ssh connection
|
||||
kssh = "kitty +kitten ssh";
|
||||
|
||||
docker-clean = "docker container prune -f ; docker image prune -f ; docker network prune -f ; docker volume prune -f";
|
||||
|
||||
# Remove a directory and all files
|
||||
rmd = "/bin/rm --recursive --force --verbose ";
|
||||
|
||||
# Fun aliases
|
||||
pasjans = "ttysolitaire -p 10 --no-background-color";
|
||||
fc = "fortune | cowsay";
|
||||
|
||||
# Network aliases
|
||||
kssh-server = "kssh hp-t640-homeserver";
|
||||
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
|
||||
ssh-server = "ssh hp-t640-homeserver";
|
||||
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
pkgs,
|
||||
shell,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
fish = {
|
||||
enable =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
package = pkgs.fish;
|
||||
generateCompletions = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
# fastfetch
|
||||
'';
|
||||
};
|
||||
|
||||
nix-your-shell = {
|
||||
enable = true;
|
||||
package = pkgs.nix-your-shell;
|
||||
enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
nix-output-monitor = {
|
||||
enable = true;
|
||||
package = pkgs.nix-output-monitor;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
./aliases.nix
|
||||
./functions.nix
|
||||
./plugins.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
_: {
|
||||
programs.fish.functions = {
|
||||
# Count files, links and directories in the current folder
|
||||
countfiles = {
|
||||
body = ''
|
||||
for t in files links directories
|
||||
# $t[1] – pierwszy znak (f, l, d)
|
||||
echo (find . -type $t[1] | wc -l) $t
|
||||
end
|
||||
'';
|
||||
description = "Count files, links and directories in the current folder";
|
||||
};
|
||||
|
||||
# Tail all text logs in /var/log
|
||||
logs = {
|
||||
body = ''
|
||||
sudo find /var/log -type f -exec file {} \; \
|
||||
| grep 'text' \
|
||||
| cut -d' ' -f1 \
|
||||
| sed -e 's/:$//g' \
|
||||
| grep -v '[0-9]$' \
|
||||
| xargs tail -f
|
||||
'';
|
||||
description = "Tail all text logs in /var/log";
|
||||
};
|
||||
|
||||
# Quick directory creation and navigation
|
||||
mkcd = {
|
||||
body = ''
|
||||
mkdir -p $argv[1]; and cd $argv[1]
|
||||
'';
|
||||
description = "Create a directory and cd into it";
|
||||
};
|
||||
|
||||
# Extract various archive formats
|
||||
extract = {
|
||||
body = ''
|
||||
for archive in $argv
|
||||
if test -f $archive
|
||||
switch $archive
|
||||
case *.tar.bz2
|
||||
tar xvjf $archive
|
||||
case *.tar.gz
|
||||
tar xvzf $archive
|
||||
case *.bz2
|
||||
bunzip2 $archive
|
||||
case *.rar
|
||||
unrar x $archive
|
||||
case *.gz
|
||||
gunzip $archive
|
||||
case *.tar
|
||||
tar xvf $archive
|
||||
case *.tbz2
|
||||
tar xvjf $archive
|
||||
case *.tgz
|
||||
tar xvzf $archive
|
||||
case *.zip
|
||||
unzip $archive
|
||||
case *.Z
|
||||
uncompress $archive
|
||||
case *.7z
|
||||
7z x $archive
|
||||
case '*'
|
||||
echo "don't know how to extract '$archive'..."
|
||||
end
|
||||
else
|
||||
echo "'$archive' is not a valid file!"
|
||||
end
|
||||
end
|
||||
'';
|
||||
description = "Extract various archive formats";
|
||||
};
|
||||
|
||||
# Find files quickly
|
||||
ff = {
|
||||
body = ''
|
||||
if test -n "$argv[1]"
|
||||
find . -type f -name "*$argv[1]*"
|
||||
else
|
||||
echo "Usage: ff <pattern>"
|
||||
end
|
||||
'';
|
||||
description = "Find files matching a pattern";
|
||||
};
|
||||
|
||||
# Find directories quickly
|
||||
fd = {
|
||||
body = ''
|
||||
if test -n "$argv[1]"
|
||||
find . -type d -name "*$argv[1]*"
|
||||
else
|
||||
echo "Usage: fd <pattern>"
|
||||
end
|
||||
'';
|
||||
description = "Find directories matching a pattern";
|
||||
};
|
||||
|
||||
# IP address lookup
|
||||
whatismyip = {
|
||||
body = ''
|
||||
# Internal IP
|
||||
if command -v ip >/dev/null
|
||||
echo -n "Internal IP: "
|
||||
ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
|
||||
else
|
||||
echo -n "Internal IP: "
|
||||
ifconfig wlan0 | grep "inet " | awk '{print $2}'
|
||||
end
|
||||
|
||||
# External IP
|
||||
echo -n "External IP: "
|
||||
curl -4 ifconfig.me
|
||||
'';
|
||||
description = "Show internal and external IP addresses";
|
||||
};
|
||||
|
||||
# Search for text in all files in the current folder
|
||||
ftext = {
|
||||
body = ''
|
||||
if test -n "$argv[1]"
|
||||
grep -iIHrn --color=always "$argv[1]" . | less -r
|
||||
else
|
||||
echo "Usage: ftext <search term>"
|
||||
end
|
||||
'';
|
||||
description = "Search text in files, showing matches with highlighting";
|
||||
};
|
||||
|
||||
# Copy file with a progress bar
|
||||
cpp = {
|
||||
body = ''
|
||||
set -e
|
||||
# Use strace to monitor cp progress
|
||||
strace -q -ewrite cp -- $argv[1] $argv[2] 2>&1 |
|
||||
awk '
|
||||
{
|
||||
count += $NF
|
||||
if (count % 10 == 0) {
|
||||
percent = count / total_size * 100
|
||||
printf "%3d%% [", percent
|
||||
for (i=0;i<=percent;i++) printf "="
|
||||
printf ">"
|
||||
for (i=percent;i<100;i++) printf " "
|
||||
printf "]\r"
|
||||
}
|
||||
}
|
||||
END { print "" }' total_size="$(stat -c "%s" $argv[1])" count=0
|
||||
'';
|
||||
description = "Copy a file with a visual progress bar";
|
||||
};
|
||||
|
||||
# Copy and go to the directory
|
||||
cpg = {
|
||||
body = ''
|
||||
cp $argv[1] $argv[2]
|
||||
if test -d $argv[2]
|
||||
cd $argv[2]
|
||||
end
|
||||
'';
|
||||
description = "Copy a file and cd into the destination directory if it's a directory";
|
||||
};
|
||||
|
||||
# Move and go to the directory
|
||||
mvg = {
|
||||
body = ''
|
||||
mv $argv[1] $argv[2]
|
||||
if test -d $argv[2]
|
||||
cd $argv[2]
|
||||
end
|
||||
'';
|
||||
description = "Move a file and cd into the destination directory if it's a directory";
|
||||
};
|
||||
|
||||
# Create and go to the directory
|
||||
mkdirg = {
|
||||
body = ''
|
||||
mkdir -p $argv[1]; and cd $argv[1]
|
||||
'';
|
||||
description = "Create a directory and cd into it";
|
||||
};
|
||||
|
||||
# Go up N directories (e.g. up 4)
|
||||
up = {
|
||||
body = ''
|
||||
set limit $argv[1]
|
||||
if test -z "$limit"
|
||||
set limit 1
|
||||
end
|
||||
set path (pwd)
|
||||
for i in (seq $limit)
|
||||
set path (dirname $path)
|
||||
end
|
||||
cd $path
|
||||
'';
|
||||
description = "Go up N directories";
|
||||
};
|
||||
|
||||
# cd with automatic ls after each cd
|
||||
cd = {
|
||||
body = ''
|
||||
builtin cd $argv
|
||||
if test $status -eq 0
|
||||
ls
|
||||
end
|
||||
'';
|
||||
description = "cd with automatic ls";
|
||||
};
|
||||
|
||||
# Return the last two components of the working directory
|
||||
pwdtail = {
|
||||
body = ''
|
||||
pwd | awk -F/ '{nlast = NF - 1; print $nlast "/" $NF}'
|
||||
'';
|
||||
description = "Show the last two components of the current path";
|
||||
};
|
||||
|
||||
# Download video via ffmpeg
|
||||
ffmpeg_dl = {
|
||||
body = ''
|
||||
if count $argv != 3
|
||||
echo "Usage: ffmpeg_dl <url> <name> <fs_path>"
|
||||
return 1
|
||||
end
|
||||
set url $argv[1]
|
||||
set name $argv[2]
|
||||
set fs_path $argv[3]
|
||||
|
||||
mkdir -p $fs_path
|
||||
set output "$fs_path/$name.mp4"
|
||||
|
||||
ffmpeg -i $url -c copy $output
|
||||
'';
|
||||
description = "Download a video using ffmpeg to a given location";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{pkgs, ...}: {
|
||||
programs.fish.plugins = [
|
||||
# {
|
||||
# name = "z";
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
# owner = "jethrokuan";
|
||||
# repo = "z";
|
||||
# rev = "ddeb28a7b6a1f0ec6dae40c636e5ca4908ad160a";
|
||||
# sha256 = "0c5i7sdrsp0q3vbziqzdyqn4fmp235ax4mn4zslrswvn8g3fvdyh";
|
||||
# };
|
||||
# }
|
||||
|
||||
# # oh-my-fish plugins are stored in their own repositories, which
|
||||
# # makes them simple to import into home-manager.
|
||||
# {
|
||||
# name = "fasd";
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
# owner = "oh-my-fish";
|
||||
# repo = "plugin-fasd";
|
||||
# rev = "38a5b6b6011106092009549e52249c6d6f501fba";
|
||||
# sha256 = "06v37hqy5yrv5a6ssd1p3cjd9y3hnp19d3ab7dag56fs1qmgyhbs";
|
||||
# };
|
||||
# }
|
||||
];
|
||||
}
|
||||
+9
-19
@@ -1,24 +1,14 @@
|
||||
# Fzf is a general-purpose command-line fuzzy finder.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
accent = "#" + config.lib.stylix.colors.base0D;
|
||||
foreground = "#" + config.lib.stylix.colors.base05;
|
||||
muted = "#" + config.lib.stylix.colors.base03;
|
||||
in {
|
||||
{shell, ...}: {
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
colors = lib.mkForce {
|
||||
"fg+" = accent;
|
||||
"bg+" = "-1";
|
||||
"fg" = foreground;
|
||||
"bg" = "-1";
|
||||
"prompt" = muted;
|
||||
"pointer" = accent;
|
||||
};
|
||||
enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
enableBashIntegration =
|
||||
if shell == "bash"
|
||||
then true
|
||||
else false;
|
||||
defaultOptions = [
|
||||
"--margin=1"
|
||||
"--layout=reverse"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
pkgs,
|
||||
gitUsername,
|
||||
...
|
||||
}: {
|
||||
programs.gh = {
|
||||
enable = true;
|
||||
package = pkgs.gh;
|
||||
hosts."github.com" = {
|
||||
git_protocol = "https";
|
||||
users = [
|
||||
"${gitUsername}"
|
||||
];
|
||||
user = "${gitUsername}";
|
||||
};
|
||||
settings = {
|
||||
git_protocol = "https";
|
||||
version = "1";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
||||
in {
|
||||
{
|
||||
gitUsername,
|
||||
gitEmail,
|
||||
...
|
||||
}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -5,11 +5,6 @@
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
gtk4 = {
|
||||
theme = null;
|
||||
extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{
|
||||
host,
|
||||
config,
|
||||
extraMonitorSettings,
|
||||
keyboardLayout,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
||||
in {
|
||||
}: {
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||
"xdg-desktop-autostart.target"
|
||||
];
|
||||
@@ -64,8 +62,8 @@ in {
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
resize_on_border = true;
|
||||
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
||||
# "col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||
# "col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
||||
};
|
||||
|
||||
misc = {
|
||||
@@ -107,7 +105,7 @@ in {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
# color = "rgba(1a1a1aee)";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
shell,
|
||||
...
|
||||
}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
shellIntegration.enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.mangohud.enable = lib.mkEnableOption "MangoHud";
|
||||
|
||||
config = lib.mkIf config.mangohud.enable {
|
||||
programs.mangohud = {
|
||||
enable = true;
|
||||
package = pkgs.mangohud;
|
||||
settings = lib.mkForce {
|
||||
position = "top-right";
|
||||
background_alpha = 0.4;
|
||||
font_size = 18;
|
||||
round_corners = 8;
|
||||
no_display = 0;
|
||||
|
||||
gpu_color = "2e9ef4";
|
||||
cpu_color = "39d353";
|
||||
vram_color = "ad3aff";
|
||||
ram_color = "c0c0c0";
|
||||
engine_color = "eb5454";
|
||||
frametime_color = "e8c446";
|
||||
text_color = "ffffff";
|
||||
background_color = "020202";
|
||||
media_player_color = "ffffff";
|
||||
|
||||
fps_color_change = 1;
|
||||
fps_color = "39d353,e8c446,eb5454";
|
||||
fps_value = "60,30";
|
||||
|
||||
fps = 1;
|
||||
fps_only = 0;
|
||||
|
||||
gpu_stats = 1;
|
||||
gpu_load_change = 1;
|
||||
gpu_load_value = "60,90";
|
||||
gpu_load_color = "39d353,e8c446,eb5454";
|
||||
gpu_temp = 1;
|
||||
gpu_core_clock = 1;
|
||||
gpu_mem_clock = 0;
|
||||
gpu_power = 1;
|
||||
gpu_name = 1;
|
||||
vram = 1;
|
||||
|
||||
cpu_stats = 1;
|
||||
cpu_load_change = 1;
|
||||
cpu_load_value = "60,90";
|
||||
cpu_load_color = "39d353,e8c446,eb5454";
|
||||
cpu_temp = 1;
|
||||
cpu_mhz = 1;
|
||||
core_load = 0;
|
||||
|
||||
ram = 1;
|
||||
|
||||
frametime = 1;
|
||||
frame_timing = 1;
|
||||
histogram = 0;
|
||||
|
||||
engine_version = 1;
|
||||
vulkan_driver = 1;
|
||||
arch = 0;
|
||||
|
||||
fps_limit = 0;
|
||||
toggle_hud = "Shift_R+F12";
|
||||
toggle_fps_limit = "Shift_L+F1";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,22 @@
|
||||
{lib, ...}: let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
|
||||
in {
|
||||
programs.noctalia-shell = lib.mkForce {
|
||||
options.nooctalia-plugins = {
|
||||
mini-docker.enable = lib.mkEnableOption "Mini docker plugin";
|
||||
timer.enable = lib.mkEnableOption "Timer plugin";
|
||||
keybind-cheatsheet.enable = lib.mkEnableOption "Keybind cheatsheet plugin";
|
||||
kde-connect.enable = lib.mkEnableOption "KDE Connect plugin";
|
||||
screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin";
|
||||
screenshot.enable = lib.mkEnableOption "Screenshot plugin";
|
||||
ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin";
|
||||
tailscale.enable = lib.mkEnableOption "Tailscale plugin";
|
||||
};
|
||||
|
||||
config.programs.noctalia-shell = lib.mkForce {
|
||||
plugins = {
|
||||
sources = [
|
||||
{
|
||||
@@ -11,31 +26,35 @@ in {
|
||||
}
|
||||
];
|
||||
states = {
|
||||
mini-docker = {
|
||||
mini-docker = lib.mkIf config.nooctalia-plugins.mini-docker.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
timer = {
|
||||
timer = lib.mkIf config.nooctalia-plugins.timer.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
keybind-cheatsheet = {
|
||||
keybind-cheatsheet = lib.mkIf config.nooctalia-plugins.keybind-cheatsheet.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
kde-connect = {
|
||||
kde-connect = lib.mkIf config.nooctalia-plugins.kde-connect.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
screen-recorder = {
|
||||
screen-recorder = lib.mkIf config.nooctalia-plugins.screen-recorder.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
screenshot = {
|
||||
screenshot = lib.mkIf config.nooctalia-plugins.screenshot.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
ntfy-notifications = {
|
||||
ntfy-notifications = lib.mkIf config.nooctalia-plugins.ntfy-notifications.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable {
|
||||
enabled = true;
|
||||
sourceUrl = sourceUrl;
|
||||
};
|
||||
@@ -92,6 +111,23 @@ in {
|
||||
# maxMessages = 100;
|
||||
# readMessageIds = [];
|
||||
# };
|
||||
tailscale = {
|
||||
refreshInterval = 5000;
|
||||
compactMode = true;
|
||||
showIpAddress = false;
|
||||
showPeerCount = false;
|
||||
hideDisconnected = false;
|
||||
hideMullvadExitNodes = true;
|
||||
showSearchBar = false;
|
||||
terminalCommand = "kitty";
|
||||
sshUsername = "";
|
||||
pingCount = 5;
|
||||
defaultPeerAction = "copy-ip";
|
||||
taildropEnabled = true;
|
||||
taildropDownloadDir = "~/Downloads";
|
||||
taildropReceiveMode = "operator";
|
||||
loginServer = "https://hs.garandplg.com";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
hidePassive = false;
|
||||
pinned = [];
|
||||
}
|
||||
{
|
||||
id = "plugin:tailscale";
|
||||
}
|
||||
{
|
||||
id = "plugin:keybind-cheatsheet";
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
host,
|
||||
keyboardLayout,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../../../hosts/${host}/variables.nix) keyboardLayout;
|
||||
in {
|
||||
}: {
|
||||
programs.noctalia-shell.settings.general = lib.mkForce {
|
||||
avatarImage = "/home/${username}/.face.icon";
|
||||
dimmerOpacity = 0.2;
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
host,
|
||||
location,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../../../hosts/${host}/variables.nix) location;
|
||||
in {
|
||||
}: {
|
||||
programs.noctalia-shell.settings.location = lib.mkForce {
|
||||
name = "${location}";
|
||||
weatherEnabled = true;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
_: {}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.obsidian.enable = lib.mkEnableOption "Obsidian";
|
||||
|
||||
config.programs.obsidian = lib.mkIf config.obsidian.enable {
|
||||
enable = true;
|
||||
package = pkgs.obsidian;
|
||||
cli.enable = true;
|
||||
};
|
||||
|
||||
imports = [
|
||||
# ./default-settings
|
||||
./vaults
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.obsidian.vaults."BoM".enable = lib.mkEnableOption "Obsidian BoM vault";
|
||||
|
||||
config.programs.obsidian.vaults."BoM" = lib.mkIf config.obsidian.vaults."BoM".enable {
|
||||
enable = true;
|
||||
target = "Obsidian/BoM";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
_: {
|
||||
imports = [
|
||||
./BoM.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
profile,
|
||||
...
|
||||
}: {
|
||||
options.ollama.enable = lib.mkEnableOption "Ollama";
|
||||
|
||||
config.services.ollama = lib.mkIf config.ollama.enable {
|
||||
enable = true;
|
||||
package = pkgs.ollama;
|
||||
acceleration =
|
||||
if profile == "nvidia"
|
||||
then "cuda"
|
||||
else if profile == "amd"
|
||||
then "rocm"
|
||||
else null;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.opencode.enable = lib.mkEnableOption "Opencode";
|
||||
|
||||
config.programs.opencode = lib.mkIf config.opencode.enable {
|
||||
enable = true;
|
||||
package = pkgs.opencode;
|
||||
};
|
||||
}
|
||||
@@ -9,8 +9,8 @@
|
||||
port = 22;
|
||||
identityFile = "~/.ssh/hp-t640-homeserver";
|
||||
};
|
||||
"hp-t640-homeserver-tailscale" = {
|
||||
hostname = "100.106.225.106";
|
||||
"hp-t640-homeserver-headscale" = {
|
||||
hostname = "100.64.0.2";
|
||||
user = "${username}";
|
||||
port = 22;
|
||||
identityFile = "~/.ssh/hp-t640-homeserver";
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
shell,
|
||||
...
|
||||
}: let
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
in {
|
||||
}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
format = lib.concatStrings [
|
||||
@@ -44,8 +46,8 @@ in {
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[](${accent})";
|
||||
error_symbol = "[](red)";
|
||||
success_symbol = "";
|
||||
error_symbol = "";
|
||||
};
|
||||
|
||||
nix_shell = {
|
||||
|
||||
+95
-4
@@ -1,14 +1,105 @@
|
||||
{host, ...}: {
|
||||
{
|
||||
host,
|
||||
shell,
|
||||
...
|
||||
}: {
|
||||
stylix.targets = {
|
||||
librewolf.profileNames = ["${host}"];
|
||||
hyprland.enable = false;
|
||||
librewolf = {
|
||||
profileNames = ["${host}"];
|
||||
enable = true;
|
||||
firefoxGnomeTheme.enable = true;
|
||||
fonts.enable = true;
|
||||
inputs.enable = true;
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
hyprpaper.enable = true;
|
||||
image.enable = true;
|
||||
};
|
||||
|
||||
vscode.enable = false;
|
||||
|
||||
zed.enable = false;
|
||||
vesktop.enable = false;
|
||||
|
||||
vesktop = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
fonts.enable = true;
|
||||
};
|
||||
|
||||
noctalia-shell.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
flatpakSupport.enable = true;
|
||||
fonts.enable = true;
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platform = "qtct";
|
||||
};
|
||||
|
||||
fish = {
|
||||
enable =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
colors.enable = true;
|
||||
inputs.enable = true;
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
};
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
};
|
||||
|
||||
bat = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
};
|
||||
|
||||
anki = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
};
|
||||
|
||||
btop = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
opacity.enable = true;
|
||||
};
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
fonts.enable = true;
|
||||
inputs.enable = true;
|
||||
opacity.enable = true;
|
||||
variant256Colors = true;
|
||||
};
|
||||
|
||||
opencode = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
};
|
||||
|
||||
obsidian = {
|
||||
enable = true;
|
||||
colors.enable = true;
|
||||
fonts.enable = true;
|
||||
polarity.enable = true;
|
||||
vaultNames = [
|
||||
"BoM"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{username, ...}: {
|
||||
home.file = {
|
||||
".config/swappy/config".text = ''
|
||||
home.file.".config/swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir=/home/${username}/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
@@ -12,5 +11,4 @@
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
_: {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
dconf.settings."org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,5 +19,7 @@ _: {
|
||||
"deputy"
|
||||
"biome"
|
||||
"opencode"
|
||||
"fish"
|
||||
"tera"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,5 +8,6 @@
|
||||
uv
|
||||
python314
|
||||
ruff
|
||||
deputy
|
||||
];
|
||||
}
|
||||
|
||||
@@ -15,6 +15,16 @@
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
deputy = {
|
||||
binary = {
|
||||
path = lib.getExe pkgs.deputy;
|
||||
arguments = [
|
||||
"serve"
|
||||
"--github-token"
|
||||
"$(gh auth token)"
|
||||
];
|
||||
};
|
||||
};
|
||||
rust-analyzer = {
|
||||
binary = {
|
||||
path = lib.getExe pkgs.bash;
|
||||
|
||||
+10
-5
@@ -1,11 +1,16 @@
|
||||
_: {
|
||||
programs = {
|
||||
zoxide = {
|
||||
{shell, ...}: {
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration =
|
||||
if shell == "fish"
|
||||
then true
|
||||
else false;
|
||||
enableBashIntegration =
|
||||
if shell == "bash"
|
||||
then true
|
||||
else false;
|
||||
options = [
|
||||
"--cmd cd"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) intelID nvidiaID;
|
||||
in {
|
||||
{
|
||||
host,
|
||||
intelID,
|
||||
nvidiaID,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../hosts/${host}
|
||||
../../modules/drivers
|
||||
|
||||
Reference in New Issue
Block a user