Compare commits

..

1297 Commits

Author SHA1 Message Date
c4510abf88 refactor: simplify apps.colmena 2026-02-24 15:00:45 +01:00
0c4cdd2d1e feat: add golang module to work host 2026-02-24 14:47:27 +01:00
c1418e1402 chore: update lockfile 2026-02-24 14:47:27 +01:00
ab59c50520 fix: add wrapper util for home manager modules 2026-02-24 14:47:27 +01:00
624a56e948 fix: remove pnpm bash config 2026-02-24 14:47:27 +01:00
fb269c0265 fix: update 'work' host modules 2026-02-24 14:47:27 +01:00
2a07ecef61 feat: add 'nodejs' module (and use on 'work' host) 2026-02-24 14:47:27 +01:00
aa830fc795 feat: set up 'opencode' on work host 2026-02-24 14:47:27 +01:00
227a4fe53d feat: add 'vscode' module to work host 2026-02-24 14:47:27 +01:00
99dfe10ebf fix: add pdf support to pandoc module 2026-02-24 14:47:27 +01:00
c002741419 fix: remove default packages 2026-02-23 19:35:24 +01:00
448b3e5ef0 feat: set up 'tlp' for laptop mode on 'astyanax' 2026-02-23 18:15:19 +01:00
fafadf4034 feat: add notifier plugin to opencode 2026-02-23 18:11:29 +01:00
a5845fb847 fix :resolve 'andromache' syntax error 2026-02-23 18:11:24 +01:00
757d5e5c81 feat: set up 'storage' module 2026-02-22 16:43:15 +01:00
7b13880be2 fix: resolve nix build warnings 2026-02-22 16:40:20 +01:00
b895e85953 chore: disable syncthing module 2026-02-22 16:22:55 +01:00
ee3b95d986 fix: remove 'nix.settings' from 'hecuba' host 2026-02-22 16:20:52 +01:00
f5ed623d53 refactor: extract 'pandoc' module 2026-02-22 16:16:17 +01:00
d30fa3922b docs: update readme 2026-02-22 14:37:09 +01:00
1c20cc3326 feat: add basic 'gaming' module to 'andromache' 2026-02-22 14:08:43 +01:00
e7a36abd8c refactor: extract 'nvidia' module 2026-02-22 14:08:43 +01:00
635583669f refactor: add home 'allowedUnfree' option 2026-02-22 14:08:43 +01:00
dec73a74d8 refactor: remove unused 'colmena' input 2026-02-22 14:08:43 +01:00
ac23d88ca9 fix: deny opencode access to nix secret paths 2026-02-22 13:22:19 +01:00
85df2e7886 fix: temporarily disable 'ly' on desktop 2026-02-22 12:42:43 +01:00
7bb0f6fca4 feat: set up openscad lsp 2026-02-22 12:34:34 +01:00
486e273b97 fix: update 'ncspot' config 2026-02-22 12:34:05 +01:00
e7756a2959 chore: remove redundant 'update-vim' script 2026-02-22 12:19:39 +01:00
68fa0d8c89 chore: update lockfile 2026-02-22 12:16:35 +01:00
b9c7c099e7 fix: enable colortheme for firefox-based browsers 2026-02-22 12:16:07 +01:00
e62790f2c7 fix: update 'sb-pomo' script to match 'pomo' script 2026-02-22 12:11:58 +01:00
3d36eb305e docs: update readme 2026-02-22 00:28:39 +01:00
0952bfd827 chore: remove unused vpn module 2026-02-21 22:07:06 +01:00
c6671fea4e fix: add 'lib' as default module 2026-02-21 22:02:57 +01:00
55b3fde362 feat: add home manager audio module (pulsemixer) 2026-02-21 22:02:38 +01:00
18f2e4d93a fix: add 'lib' module to astyanax host 2026-02-21 17:49:01 +01:00
dbac0fd1b9 fix: color niri workspaces in waybar 2026-02-21 14:31:44 +01:00
26760d27a4 chore: update lockfile 2026-02-21 13:52:12 +01:00
eec5d54f59 chore: remove 'phone' config (skip 'nix-on-droid' for now) 2026-02-21 13:51:01 +01:00
1a0c85ec97 feat: set up 'eetion-02' raspberry pi host 2026-02-21 13:51:01 +01:00
0037ba2e54 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/c7794d3f46304de5234008c31b5b28a9d5709184?dir=pkgs/firefox-addons&narHash=sha256-0iGDl/ct3rW%2Bh6%2BsLq4RZaze/U/aQo2L5sLLuyjuVTk%3D' (2026-02-04)
  → 'gitlab:rycee/nur-expressions/65d59f814068d04e532cad2773d281e4951acd95?dir=pkgs/firefox-addons&narHash=sha256-%2BFHN9EthS%2BkHxnMoSDZEiGLoxwiIuij6ltK3aTmlLMA%3D' (2026-02-07)
• Updated input 'home-manager':
    'github:nix-community/home-manager/04e5203db66417d548ae1ff188a9f591836dfaa7?narHash=sha256-R1WFtIvp38hS9x63dnijdJw1KyIiy30KGea6e6N7LHs%3D' (2026-02-05)
  → 'github:nix-community/home-manager/6cee0821577643e0b34e2c5d9a90d0b1b5cdca70?narHash=sha256-cyxgVsNfHnJ4Zn6G1EOzfTXbjTy7Ds9zMOsZaX7VZWs%3D' (2026-02-07)
• Updated input 'nvim':
    'path:./dots/.config/nvim'
  → 'path:./dots/.config/nvim'
2026-02-21 13:51:00 +01:00
846112cd25 feat: add (but disable for now) uptime kuma module for 'hecuba' 2026-02-21 13:50:39 +01:00
6233bd0867 refactor: resolve warnings/errors in checks 2026-02-21 13:50:38 +01:00
6ba7fd28d5 fix: simplify syncthing module 2026-02-21 13:49:53 +01:00
c75724de68 feat: set up 'stylix' 2026-02-17 20:30:32 +01:00
04f33a92ea test: try taskwarrior hooks to track slots 2026-02-17 20:09:24 +01:00
3cc69cf68d fix: make 'colmena' available 2026-02-17 20:09:24 +01:00
5f5e5f8d4d test: see if this fixes auto upgrades 2026-02-17 19:53:51 +01:00
2c5a115bf9 feat: set up 'stylix' 2026-02-17 19:51:08 +01:00
323fbe15c8 feat: colorize 'kubectl' output 2026-02-17 18:08:21 +01:00
f8b0f62606 chore: gitignore '.pre-commit-config.yaml' 2026-02-16 20:14:11 +01:00
0a222ed225 feat(bluetooth): add 'mpris-proxy' service 2026-02-16 20:14:11 +01:00
a846849a80 fix: improve 'ai-tools' module (host-specific options) 2026-02-16 17:58:51 +01:00
092a4b47e6 chore: disable 'm_taskwarrior_d.nvim' 2026-02-16 17:58:50 +01:00
385fcb3ee1 refactor(nixGL): extract 'nixGL' wrapper 2026-02-16 17:58:41 +01:00
833d999027 feat: add 'bruno' module 2026-02-16 17:58:41 +01:00
0df8cdb354 chore: remove redundant backup files after nixification 2026-02-14 16:27:21 +01:00
23a89dab30 feat: add 'bak' script 2026-02-14 15:22:38 +01:00
7ae0c01e8d chore: update lockfile 2026-02-14 13:18:08 +01:00
a975d9fb6c fix: add 'ai-tools' module to 'andromache' 2026-02-14 02:02:31 +01:00
6684e2e7fe feat: set up git hooks 2026-02-07 14:25:39 +01:00
7f0726f443 fix: add ssh keys to agent for all hosts 2026-02-07 14:25:39 +01:00
cb8ac3b848 fix: resolve proxmark firmware flashing issues 2026-02-07 14:25:38 +01:00
3a1997f0c4 fix: set up ipv4 forwarding 2026-02-07 14:25:08 +01:00
a2a7c3c5a0 feat: add 'brightnessctl' to niri desktop 2026-02-07 14:25:08 +01:00
ce6940b048 flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/4f827ff035c6ddc58d04c45abe5b777d356b926a?dir=pkgs/firefox-addons&narHash=sha256-9Sqq/hxq8ZDLRSzu%2Bedn0OfWG%2BFAPWFpwMKaJobeLec%3D' (2026-02-03)
  → 'gitlab:rycee/nur-expressions/c7794d3f46304de5234008c31b5b28a9d5709184?dir=pkgs/firefox-addons&narHash=sha256-0iGDl/ct3rW%2Bh6%2BsLq4RZaze/U/aQo2L5sLLuyjuVTk%3D' (2026-02-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/984708c34d3495a518e6ab6b8633469bbca2f77a?narHash=sha256-gj1yP3spUb1vGtaF5qPhshd2j0cg4xf51pklDsIm19Q%3D' (2026-02-01)
  → 'github:nix-community/home-manager/04e5203db66417d548ae1ff188a9f591836dfaa7?narHash=sha256-R1WFtIvp38hS9x63dnijdJw1KyIiy30KGea6e6N7LHs%3D' (2026-02-05)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cb369ef2efd432b3cdf8622b0ffc0a97a02f3137?narHash=sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU%3D' (2026-02-02)
  → 'github:nixos/nixpkgs/00c21e4c93d963c50d4c0c89bfa84ed6e0694df2?narHash=sha256-AYqlWrX09%2BHvGs8zM6ebZ1pwUqjkfpnv8mewYwAo%2BiM%3D' (2026-02-04)
• Updated input 'nvim':
    'path:./dots/.config/nvim'
  → 'path:./dots/.config/nvim'
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f990b0a334e96d3ef9ca09d4bd92778b42fd84f9?narHash=sha256-NUVGVtYBTC96WhPh4Y3SVM7vf0o1z5W4uqRBn9v1pfo%3D' (2026-02-03)
  → 'github:Mic92/sops-nix/17eea6f3816ba6568b8c81db8a4e6ca438b30b7c?narHash=sha256-ktjWTq%2BD5MTXQcL9N6cDZXUf9kX8JBLLBLT0ZyOTSYY%3D' (2026-02-03)
2026-02-07 14:25:08 +01:00
e21411c2f9 feat: add helm plugins declaratively 2026-02-07 14:20:28 +01:00
dcb525cce2 feat: set up 'music' module 2026-02-07 14:20:27 +01:00
dc630fe984 refactor: simplify keyboard module 2026-02-07 14:20:04 +01:00
ce90493654 feat: add 'direnv' module 2026-02-07 14:20:04 +01:00
0c553e7a7d feat: add nfc module (and use it on 'astyanax') 2026-02-05 18:51:39 +01:00
4cf601df84 fix: remove wlsunset spawn (replaced by gammastep service) 2026-02-05 12:21:09 +01:00
c8e4337a14 fix: remove duplicate waybar spawn in niri config (already managed by systemd) 2026-02-05 12:20:19 +01:00
49de518ad1 chore: update lockfile
Flake lock file updates:

• Updated input 'nvim':
    'path:./dots/.config/nvim'
  → 'path:./dots/.config/nvim'
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1e89149dcfc229e7e2ae24a8030f124a31e4f24f?narHash=sha256-twBMKGQvaztZQxFxbZnkg7y/50BW9yjtCBWwdjtOZew%3D' (2026-02-01)
  → 'github:Mic92/sops-nix/f990b0a334e96d3ef9ca09d4bd92778b42fd84f9?narHash=sha256-NUVGVtYBTC96WhPh4Y3SVM7vf0o1z5W4uqRBn9v1pfo%3D' (2026-02-03)
2026-02-03 23:02:45 +01:00
6c9312f509 feat: mute 'astyanax' speakers when disconnecting AC 2026-02-03 23:02:41 +01:00
3359426c48 fix: integrate keepassxc browser on all firefox-based browsers 2026-02-03 23:02:41 +01:00
0f0f038f5a feat: set up restic backups for 'andromache' and 'astyanax' 2026-02-03 23:02:41 +01:00
ab31842e58 feat: set up syncthing (with e-reader) 2026-02-03 22:59:30 +01:00
ea88fff4a4 feat: set up 'paperless-ngx' (behind nginx reverse proxy) 2026-02-02 22:11:45 +01:00
b3ab7dcb1c fix: smarten 'buildOnTarget' by using tags 2026-02-02 22:11:26 +01:00
adb1265800 fix: add python dependency to 'taskwarrior' home module 2026-02-02 20:51:08 +01:00
40b2c821c8 fix: enable 'eetion' firewall 2026-02-02 19:43:07 +01:00
b59eb6889a fix: allow 'astyanax' to cross-compile to ARM (e.g. for eetion) 2026-02-02 18:37:01 +01:00
c538c5ad08 fix: add public hostname to ssh config and refactor 2026-02-02 18:37:01 +01:00
4236aa1def feat: host 'ActualBudget' on 'eetion' host 2026-02-02 18:37:01 +01:00
9ea3a7c984 fix(colmena): add hostname to 'hecuba' host 2026-02-02 18:37:01 +01:00
f57cabb186 feat: add 'k8s' home module 2026-02-02 16:54:22 +01:00
0778b12305 feat: add 'docker' home module to 'work' host 2026-02-02 16:54:17 +01:00
d9c3cb9889 fix: add 'dconf2nix' package to 'dconf' module 2026-02-02 14:30:09 +01:00
9d22c210e3 refactor: clean up packages 2026-02-02 14:29:22 +01:00
eb54ade226 refactor: clean up 'flake.nix' and 'deploy/colmena.nix' 2026-02-01 23:55:27 +01:00
1d5c1a7c2a fix(ssh): harden ARM SD installer image SSH 2026-02-01 22:57:08 +01:00
0f7f9585b3 feat(host): add 'eetion' host (as a test for Orange Pi Zero2 H616) 2026-02-01 22:56:12 +01:00
ed24f55d15 fix(deploy): add colmena to 'builder' hosts 2026-02-01 22:48:57 +01:00
f5a490d452 refactor: move disko module out of 'common' module 2026-02-01 22:47:24 +01:00
88969087fe fix: use cross-compilation from x86 to ARM for SD card image 2026-01-31 22:59:25 +01:00
b14e2e5a39 feat: add SD card image for ARM 2026-01-31 22:47:04 +01:00
02f28ab1df feat(phone): set up 'nix-on-droid' 2026-01-31 10:18:06 +01:00
c048eb73c0 fix: only use 'nvim' flake as home manager module 2026-01-31 10:17:55 +01:00
b22c5bc935 feat: add 'taskopen' to 'taskwarrior' module 2026-01-30 16:10:46 +01:00
7c46bae3e2 feat: add 'comms' module 2026-01-30 16:10:46 +01:00
8a1f51873e chore: temporarily disable wireguard VPN module 2026-01-30 16:10:46 +01:00
e03c77cdbc feat: add CLI tools to git module 2026-01-30 16:10:46 +01:00
a64d153004 feat: add 'azure' cloud option (and generalized module) 2026-01-30 16:10:46 +01:00
a78af6529c fix: update 'ai-tools' module and add to 'astyanax' host 2026-01-27 21:36:17 +01:00
c460bebb2d feat: add 'ai-tools' home module 2026-01-27 16:35:20 +01:00
b84944543a chore: update nvim flake dependencies 2026-01-27 16:30:17 +01:00
63f4c82c76 chore: update flake lockfiles 2026-01-27 16:22:13 +01:00
677b1b6666 fix: declare contents of 'setup-gnome' 2026-01-27 16:19:34 +01:00
b827b518cd refactor(statix): resolve 'statix check' issues 2026-01-27 07:34:37 +01:00
68eecd01c7 chore: update lockfile 2026-01-26 21:59:30 +01:00
8fc4e23d3b fix(nixd): properly configure 'nixd' nvim lsp 2026-01-26 21:58:09 +01:00
cf381042d0 feat: add 'gammastep' to niri deskopt 2026-01-26 21:21:49 +01:00
2303988b74 feat: add '3d' and 'photography' modules to andromache 2026-01-26 21:21:26 +01:00
791d90b703 fix: update hardware config 2026-01-26 18:47:43 +01:00
29137a8cdd chore: update lockfile 2026-01-25 15:32:53 +01:00
dd175e99b8 refactor: migrate vim.cmd to lua API in init.lua 2026-01-23 15:22:55 +01:00
3a5f1cf47e fix: remove conflicting light background setting
The bg=light setting was immediately overridden by vim.opt.background = "dark" later in the file.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 15:22:55 +01:00
755f1f4a06 refactor: remove duplicate 'paq-setup' require 2026-01-23 15:22:55 +01:00
1cfc049326 chore(nvim): remove redundant unused config 2026-01-23 15:22:55 +01:00
09d2832948 fix(vim.keymap): resolve duplicate 'fzf' keymap 2026-01-23 15:22:55 +01:00
85ab23eb5d fix(tmux): update tmux config 2026-01-23 15:22:55 +01:00
76a31b3051 refactor: deduplicate firefox/librewolf config 2026-01-23 15:22:55 +01:00
8e5cbe6350 fix: use 'nixGL' for kitty when available 2026-01-23 15:22:55 +01:00
e75fc95b27 feat: add 'tmux' to 'shell' module 2026-01-23 15:22:55 +01:00
24ed3f03cd refactor: extract 'dotsPath' for 'dots' path 2026-01-23 15:22:55 +01:00
b6453330bf refactor: centralize kitty config 2026-01-23 15:22:55 +01:00
bd008cde04 fix: remove 'edit_editor_config' alias 2026-01-23 15:22:55 +01:00
ffff1cfda1 refactor: modularize 'nvim' for home manager hosts 2026-01-23 15:22:55 +01:00
0f369bdf6c feat: set up colmena with hetzner stuff 2026-01-22 20:26:11 +01:00
600e55de1f feat: configure auto suspend 2026-01-22 20:25:06 +01:00
a390428ca9 feat: set up opencode (with automated API key) 2026-01-22 20:25:05 +01:00
a5aeddc5c2 feat: add 'hcloud' module 2026-01-22 20:24:36 +01:00
e9748b0236 chore: update Nix 'work' host 2026-01-22 20:22:19 +01:00
3902e2da67 chore: update lockfile 2026-01-22 20:20:30 +01:00
42af1badc4 refactor: modularize 'nvim' for home manager hosts 2026-01-19 10:12:02 +01:00
1eca0c995d feat: use shell module on work host 2026-01-19 10:03:05 +01:00
92389f7048 feat: modularize (and extend) kitty config 2026-01-19 09:45:22 +01:00
d6459d0d84 feat: add 'hcloud' module 2026-01-18 10:02:20 +01:00
00e5c92c1e fix: add 'hetzner' module 2026-01-18 09:43:45 +01:00
c19afff26a chore: update lockfile 2026-01-17 20:01:31 +01:00
8ea03f0a66 feat: automate optimising store, garbage collection and upgrades 2026-01-17 20:00:21 +01:00
8f3f6ec66d refactor(nixfmt): format 2026-01-17 19:58:27 +01:00
3401ed7424 chore: add 'andromache' ssh public keys 2026-01-17 19:50:21 +01:00
bb6a380599 refactor: simplify hosts files 2026-01-17 19:37:05 +01:00
35fd4e61e2 fix: remove xdg config 2026-01-17 18:02:17 +01:00
01542dda96 feat: replace 'sddm' with 'ly' 2026-01-17 17:51:26 +01:00
8464884fdb feat: automate SSH config ('known_hosts', 'authorized_keys' ...) 2026-01-17 17:37:37 +01:00
33b022c659 chore(nixfmt): format 2026-01-17 17:35:38 +01:00
a8f3f222b1 fix: merge 'astyanax' services configuration 2026-01-17 16:35:38 +01:00
bf9ea37280 fix: disable 'throttled' service 2026-01-17 16:34:14 +01:00
724c5c176b fix: improve niri desktop 2026-01-17 16:33:30 +01:00
49e99e9de2 fix: add anki to 'astyanax' host 2026-01-17 16:31:37 +01:00
ce0af2988a fix: move kitty tab bar to bottom 2026-01-17 15:10:28 +01:00
5a7afbfe82 fix: update font configuration 2026-01-17 15:09:57 +01:00
87afec8955 chore: update lockfile 2026-01-17 15:09:14 +01:00
2a1512f85b fix: disable 'nixos-hardware' module for astyanax (caused boot to hang on 'loading module i915') 2026-01-17 14:56:03 +01:00
313e623ec4 feat(home): add shell module 2026-01-16 15:25:29 +01:00
4f7ab88634 fix(anki): make sops optional for standalone home-manager 2026-01-16 15:25:27 +01:00
a8851e5a91 feat(home): migrate bash config to shell module 2026-01-16 15:25:25 +01:00
629f25c795 feat(nixos): pass inputs to home-manager via extraSpecialArgs 2026-01-16 15:25:23 +01:00
b52d87d30b chore(git): add .claude/ to gitignore 2026-01-16 15:25:20 +01:00
54114f99ab fix: make taskwarrior available on both NixOS and standalone home-manager 2026-01-14 22:57:27 +01:00
2fcde8ddd1 chore: update NixOS 2026-01-14 20:55:59 +01:00
a952136be1 fix: remove descriptions from 'browser' module 2026-01-14 16:45:56 +01:00
7773d2a7a0 fix: resolve nvim treesitter errors 2026-01-14 11:50:28 +01:00
c86a52e435 fix: add 'stylelint' to neovim flake 2026-01-14 11:22:01 +01:00
c99738c210 refactor(browser): create single browser module 2026-01-12 18:10:52 +01:00
8321d5e2ef chore: update Nix 'work' host 2026-01-08 11:59:54 +01:00
46477cce25 chore: update lockfile 2025-12-29 09:35:08 +01:00
4765527fa6 feat(nvim): add typescript-language-server to runtime dependencies 2025-12-24 14:46:40 +01:00
67f5aefc82 fix(nvim): ensure codecompanion config structure exists before mcphub extension loads 2025-12-24 14:43:29 +01:00
89c398a957 chore: update flake.lock with nvim mcp-hub input
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 14:14:38 +01:00
d1fc192d26 feat(nvim): add mcp-hub, fd, and delta dependencies
- add mcp-hub flake input for MCP integration
- create system-aware dependency overlays
- add mcp-hub, fd, delta to lspsAndRuntimeDeps
- remove duplicate tailwind-fold.lua file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 14:14:10 +01:00
bc2790c7fb feat: set up 'claude-code.nvim' plugin 2025-12-18 16:01:31 +01:00
e3f55a1fbd chore: add TODO for unique 'networking.hostId' 2025-12-18 13:40:26 +01:00
c66cd0e28c refactor: use username variable consistently
Replaced hardcoded "h" username references with variables:
- hosts/vm: use username variable for secrets.username
- home configs: use username variable in bash initExtra paths
- keepassxc: update comment to use $HOME instead of /home/h

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 13:39:43 +01:00
d5d395ed56 fix(firefox): merge duplicate policies declarations
Second policies declaration was overwriting the first, causing
DefaultDownloadDirectory setting to be lost. Merged both into single
policies block.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 13:39:43 +01:00
e15f9a51cb fix: format rust using 'rustfmt' 2025-12-15 18:18:20 +01:00
acafbf9a6a refactor: decouple 'andromache' home config from 'astyanax' 2025-12-15 12:19:38 +01:00
4952ea0634 chore: update neovim flake (and main flake) 2025-12-15 12:01:19 +01:00
6e2f28d601 refactor: import shikane 'desktop/niri' instead of directly 2025-12-15 11:57:22 +01:00
143d31433f feat: add plain 'mako' service for notifications 2025-12-14 23:45:58 +01:00
a176c744f8 feat: declare anki config 2025-12-14 22:44:45 +01:00
2fa0b1f36a fix: migrate 'r5rs' script to neovim 2025-12-14 22:11:14 +01:00
520cd476fc fix: ignore directories that contain '.nobackup' in 'save-home' 2025-12-14 22:11:14 +01:00
f985df8e61 chore: format using 'black' 2025-12-14 22:11:14 +01:00
ec750ebb17 chore: clean up 'astyanax' packages 2025-12-09 23:43:56 +01:00
f3fd842692 feat: add 'fail2ban' to 'hecuba' host 2025-12-09 23:10:24 +01:00
6ff168caeb refactor: use environment variable for zettelkasten path 2025-12-09 12:43:07 +01:00
0863445dab feat: add 'rustfmt' for rust formatting 2025-12-08 20:16:18 +01:00
989a9626b3 chore: relock flake 2025-12-07 23:04:06 +01:00
7fa58a0421 feat: add 'figet.nvim' to 'nvim' flake 2025-12-07 22:59:05 +01:00
a477b2c5c3 test(nvim): try out 'm_taskwarrior_d.nvim' plugin 2025-12-07 19:16:07 +01:00
d2999ab763 fix: resolve 'nix flake check' errors 2025-12-07 17:42:18 +01:00
5d7b8d520a feat: use 'rustaceanvim' instead for rust development 2025-12-07 17:36:33 +01:00
edbbd3efd5 feat: add 'wl-clipboard' to niri desktop 2025-12-07 14:32:33 +01:00
de0b4852bf fix: work around throttled error 2025-12-07 00:13:59 +01:00
3e66197dd8 fix: declare graphics config for 'astyanax' host 2025-12-07 00:06:22 +01:00
495befc8c0 fix: resolve treesitter errors on NixOS 2025-12-07 00:05:46 +01:00
c4ccfc3a92 chore: ignore breaking changes warning for 'codecompanion.nvim' 2025-12-07 00:04:56 +01:00
02869d267a enable 'shikane' on 'astyanax' (and add 'wdisplays') 2025-12-06 23:51:50 +01:00
1e03157838 feat(nvim): set up rust lsp config 2025-12-06 23:49:29 +01:00
bc3caec6ba refactor: enable firewall explicitely for 'hecuba' host 2025-12-04 12:48:55 +01:00
2d9e1fd875 fix: remove common '.nix' suffix 2025-12-04 12:48:55 +01:00
63ef553d6b fix: update waybar to match polybar config (for the most part) 2025-12-04 12:48:55 +01:00
11ed160935 refactor: move 'wlsunset' package into home manager module 2025-12-04 12:48:55 +01:00
Hektor Misplon
7256c82b91 chore: update 'nvim' flake 2025-12-04 02:24:28 +01:00
Hektor Misplon
fcdb9d19fc fix: don't autoinstall treesitter grammars when using 'nixCats' 2025-12-04 02:21:30 +01:00
cec89af852 fix: declare 'fuzzel' config and add it to 'niri' desktop 2025-12-03 23:49:58 +01:00
8de9913ecf feat: track (currently unused) k3s module 2025-12-03 23:45:55 +01:00
d71e7d0e5d refactor: use 'default.nix' for all modules 2025-12-03 23:43:43 +01:00
e643d22eda fix: declare 'waybar' config and add it to 'niri' desktop 2025-12-03 23:36:33 +01:00
c141508203 fix: declare niri config 2025-12-03 23:36:33 +01:00
8ee1913d93 fix: try 'writeShellApplication' for 'astyanax' WOL script 2025-12-03 22:35:21 +01:00
ac4619f1a4 fix: declare 'andromache' 'eno1' interface MAC address 2025-12-03 21:40:44 +01:00
d178a03b43 feat: add 'hecuba' host config 2025-12-03 19:28:03 +01:00
063f142ae5 fix: further harden 'hardened-openssh' module 2025-12-03 17:14:08 +01:00
c90127e212 fix: replace 'gnome' desktop with 'niri' 2025-12-03 15:56:09 +01:00
f317f9409e fix: declare KeePassXC browser integration 2025-12-03 15:56:06 +01:00
c13de26ee1 chore(pkgs): add 'signal-desktop' package 2025-12-03 15:54:33 +01:00
ac5b97dba4 fix: disable kitty tab shortcut for now 2025-12-03 15:54:33 +01:00
4e2c3473e4 update bluetooth config 2025-12-03 15:54:33 +01:00
8434ceb45a refactor: move bootloader into 'modules/boot' 2025-12-03 15:54:33 +01:00
b2d1ef4bb1 refactor: move 'disko' modules into 'modules/disko' 2025-12-03 15:54:33 +01:00
c6ec0a5d1d resolve NixOS build warnings 2025-12-03 15:54:33 +01:00
d9ea9d1d27 Merge pull request 'update' (#1) from claude-code-test into main
Reviewed-on: #1
2025-12-03 15:53:43 +01:00
118595097f refactor(home/work): improve configuration structure
- Add nixpkgs.config.allowUnfree setting
- Fix nixGL configuration path to targets.genericLinux.nixGL
- Remove redundant anki program import (now in modules)
- Enable gh and kubecolor programs
- Pass inputs to packages.nix for flake package access

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 15:53:22 +01:00
d153c0aff5 feat(home): add GNOME desktop configuration
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 15:53:22 +01:00
85d1bbe82f chore(home): add commented experimental anki sync config
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 15:53:22 +01:00
b4363eca8e refactor(work): set up 'packages.local.nix' approach 2025-12-03 15:53:22 +01:00
7369600da7 feat(home): add git config with example configuration for non-NixOS 2025-12-03 15:53:22 +01:00
0b58850f16 refactor: move common hosts config into 'modules/common.nix' 2025-12-03 15:53:22 +01:00
cd3b5409b2 chore: formatting and cleanup
- Format shell.nix skeleton to single line
- Complete ts-node removal from astyanax packages
- Format andromache hardware config
2025-12-03 15:53:22 +01:00
37b6ab1816 chore: update flake to 'nixos-unstable'
- Switch from 'nixos-25.05' to 'nixos-unstable'
- Update home-manager to follow main branch
2025-12-03 15:53:22 +01:00
c111de4fc4 fix(astyanax): correct hostname typo from astynanax to astyanax 2025-12-03 15:53:22 +01:00
426e09868e Add neovim 'typescriptreact' snippets 2025-12-03 15:53:22 +01:00
24ed262e96 don't use rootless docker on 'andromache', but keep it as an option 2025-11-28 20:57:04 +01:00
1203d3de7c enable wake on lan on 'andromache' host 2025-11-27 10:37:05 +01:00
0b139ff795 declare rootless docker for 'andromache' host 2025-11-26 18:37:11 +01:00
c186fcf306 enable recurrence only on one hosts per 'man task-sync' 2025-11-24 18:47:10 +01:00
4bfa0fe7c7 refactor 'nixosConfigurations' 2025-11-23 23:29:46 +01:00
e797bfbb62 move 'nixos-hardware' from 'vm' to 'astyanax' host 2025-11-23 22:06:25 +01:00
a494390998 modularize NixOS secrets config 2025-11-23 22:06:25 +01:00
37a81c143d refactor 2025-11-23 19:49:49 +01:00
39d92cd5d1 use neovim dark mode 2025-11-23 19:48:48 +01:00
d75c45f491 declare taskwarrior for all NixOS hosts 2025-11-23 19:37:15 +01:00
67c18fe456 split up taskwarrior config to facilitate coexisting NixOS and Arch configs 2025-11-23 19:02:21 +01:00
1c1e3f9bd4 Add (unused) 'printing' module 2025-11-23 16:12:55 +01:00
5c163d57b0 Refactor 'home/hosts/work' 2025-11-23 16:10:30 +01:00
8b8a4a750c Set up xdg user directories 2025-11-18 23:43:12 +01:00
1d838b5658 Add 'vim-plug' vim plugin to neovim flake 2025-11-18 23:42:34 +01:00
6935bacbea Update intel CPU microcode 2025-11-18 23:41:55 +01:00
c775628986 Improve disko declarations 2025-11-17 21:20:00 +00:00
86b6348950 Refactor 'hosts/' to use 'default.nix' 2025-11-17 20:41:34 +00:00
be38105e84 Add gitconfig and gitignore to git home module 2025-11-17 19:15:09 +01:00
4fbecc4d34 Prefer dark theme (gnome) 2025-11-17 19:06:59 +01:00
c584eafc94 Set up 'andromache' host 2025-11-17 19:06:35 +01:00
57e40571bc Update (networking) hostnames 2025-11-16 16:03:36 +01:00
72a354c7fa Only open SSH port when SSH is enabled 2025-11-16 16:03:03 +01:00
7075800b57 Refactor 2025-11-16 15:42:11 +01:00
275e192247 Fix vm error 2025-11-16 15:42:03 +01:00
3552473830 Rename firefox profile from 'work' to 'default' 2025-11-16 02:09:54 +01:00
9bc91cb02c Enable nightlight (dconf setting) 2025-11-16 02:00:21 +01:00
79b3f3a215 Update flake 2025-11-16 01:40:48 +01:00
8366638782 Add 'kitty-scrollback.nvim' to neovim flake 2025-11-16 01:38:51 +01:00
83f89f4ec4 Modularize gnome config 2025-11-16 01:36:19 +01:00
a39ffee613 Use neovim flake 2025-11-16 01:31:55 +01:00
9463d3fdc5 Add github CLI to 'astyanax' host 2025-11-16 00:19:21 +01:00
e8f025ba11 Update 'nvim' flake 2025-11-15 23:56:11 +01:00
a7b7360991 Reuse home modules in 'astyanax' host 2025-11-15 23:49:04 +01:00
96f77e7ede Merge NixOS and home manager flakes 2025-11-15 23:49:04 +01:00
3bfaf0b6e2 Remove 'nix-topology' 2025-11-15 23:17:24 +01:00
2ec25c1a86 Add 'Syncthing' example config to 'astyanax' host 2025-11-15 21:09:36 +01:00
aca72d566c Add 'plocate' to 'astyanax' host 2025-11-15 21:04:21 +01:00
03d94ecfc4 Add 'Syncthing' to 'astyanax' host 2025-11-15 20:35:12 +01:00
19b6dfb257 Add bluetooth to 'astyanax' host 2025-11-14 14:08:22 +01:00
343bf9a32a Set up nixos-hardware for 'astyanax' host 2025-11-12 23:20:29 +01:00
cf2cdff505 Remove redundant firefox package 2025-11-12 23:20:01 +01:00
9dbe430075 Fix wifi disconnect issue? 2025-11-12 23:04:29 +01:00
c6e99b1906 Set up astyanax host 2025-11-12 23:02:30 +01:00
275016fd2e Remove firefox bookmarks 2025-11-11 01:06:20 +01:00
7dbf16d5bb Set up interception-tools on NixOS 2025-11-10 22:17:39 +01:00
660dd366b5 Improve NixOS default firewall declaration 2025-11-10 21:46:08 +01:00
f5e784399b Add (relevant) '~/.bin' scripts to NixOS 2025-11-10 20:51:55 +01:00
6382841d51 Merge commit 'feeac0c2734240b93d92d41dea98b5a4999c38af' 2025-11-10 20:42:31 +01:00
feeac0c273 Remove redundant 'dmenu' scripts 2025-11-10 20:41:51 +01:00
5548154061 Add 'bash_aliases' from 'dots' to NixOS 2025-11-10 20:24:19 +01:00
24c8766ade Add 'vscode-langservers-extracted' to neovim Nix flake 2025-11-10 18:33:48 +01:00
9dcb173b0f Add 'vscode-langservers-extracted' to neovim Nix flake 2025-11-10 18:33:48 +01:00
dc599f2b1d Update readme's 2025-11-10 18:04:39 +01:00
274397c9a9 Move 'vm' host home into home manager flake 2025-11-10 17:55:58 +01:00
784e270151 Merge 'home-manager' flake into NixOS flake 2025-11-10 17:47:59 +01:00
6f48fcf416 Merge 'home-manager' flake into NixOS flake 2025-11-10 17:47:59 +01:00
a1b660112a Merge commit '49ee65416928244ab5d1fbe3bac8f1a549464e1b' 2025-11-10 17:46:25 +01:00
7ee38d8dc9 Modularize NixOS SSH config 2025-11-10 17:04:45 +01:00
56a1a081ab Modularize NixOS fonts config 2025-11-10 16:49:25 +01:00
a9e65c5732 Set up 'nix-topology' 2025-11-10 16:38:32 +01:00
49ee654169 Update 'kitty.conf' 2025-11-10 15:29:49 +01:00
a140c9e508 Set up sops-nix secrets 2025-11-06 23:13:26 +01:00
643a7cd5d1 Add neovim skeleton module 2025-11-06 14:31:55 +01:00
5ea1050197 Fix conform eslint-prettier conflicting formatters 2025-11-06 12:16:10 +01:00
9887d78c4a Add git push/pull aliases 2025-11-06 11:16:14 +01:00
375fffdc2c Update bash aliases 2025-11-06 11:14:59 +01:00
a075d3a156 Add back zettelkasten markdown file completion 2025-11-04 23:31:24 +01:00
950b09cc5b Update gitsigns.nvim config 2025-11-04 23:31:24 +01:00
d639a98468 Add lua module snippet 2025-11-04 23:31:24 +01:00
63956418f1 Set up lua language server for Neovim 2025-11-04 23:31:24 +01:00
f040795e84 Set up kitty-scrollback.nvim 2025-11-04 16:36:10 +01:00
26f2ef9a62 Use 'dockerfile' filetype for 'containerfiles' 2025-11-04 16:36:10 +01:00
0a63090c03 Update gitignore 2025-11-04 16:36:10 +01:00
e1a34c726d Update Nix home manager flake 2025-11-04 16:36:10 +01:00
b0b2abd6bd Migrate to new Neovim 'lspconfig' version 2025-11-01 23:28:37 +01:00
448e553e8e Add 'nixpkgs.follows' to 'nixgl' input in Nix home manager flake 2025-10-28 22:13:41 +01:00
bb75a1dca1 Declare keepassxc config in Nix home manager flake 2025-10-28 12:56:59 +01:00
4f64dc7cf3 Modularize neovim & git config in Nix home manager flake 2025-10-28 11:54:40 +01:00
4276f4bfaf Modularize firefox config in Nix home manager flake 2025-10-28 11:52:33 +01:00
d874b36f9b Declare anki package in Nix home manager flake 2025-10-28 11:46:20 +01:00
b104067cdc Format home manager flake (nixfmt) 2025-10-28 00:19:28 +01:00
39f952638b Move git & neovim into Nix home manager flake 2025-10-28 00:18:10 +01:00
653b434f58 Declare bookmarks in firefox toolbar 2025-10-27 23:56:29 +01:00
12e492328c Improve pomo script 2025-10-26 22:46:15 +01:00
cb5d18370f Move firefox (with addons) into Nix home manager flake 2025-10-26 22:42:28 +01:00
c0ed57ae6a Update 'git-cb' script 2025-10-24 10:12:29 +02:00
861c6af10a Remove taskwarrior related neovim stuff 2025-10-23 16:52:23 +02:00
f70a2878c3 Set up nix formatter and language server 2025-10-23 16:26:04 +02:00
cc076aa471 Set up nix formatter and language server 2025-10-23 16:26:04 +02:00
9482816cd5 Merge commit '7368b4471b7b5826d9b02d2725929af8d626026a' 2025-10-21 00:01:04 +02:00
7368b4471b Merge commit '8f7a78067194008613842b78eb9ba6c632a8e4e3' 2025-10-21 00:00:41 +02:00
2bc003b312 Merge commit '8f7a78067194008613842b78eb9ba6c632a8e4e3' 2025-10-21 00:00:41 +02:00
8f7a780671 Squashed 'dots/' changes from 357b97a..24ce8f3
24ce8f3 Migrate '.vim/plugin' to neovim
e3d9612 Remove vim yin/yang colorschemes
05986a3 Migrate '.vim/ftplugin' to neovim
05bc2ec Migrate vim snippets to neovim (LuaSnip)
128ae8e Migrate '.vim/ftdetect/prolog' to neovim
f3188f7 Migrate '.vim/after/syntax' to neovim
85d56f9 Migrate vim init config to neovim
afca2ca Migrate '.vim/after' to neovim
d6875c9 Add 'eslint_d' PID to 'nvim-lint' config
568e45f Remove jira aliases
78fa170 Disable 'xdg-user-dirs' by default
5216f79 Alias bash 'history' command to 'h'
0f29dc3 Add neovim dependencies to flake
c901a1c test
dc4ebfc Merge commit '490998275cbdc5ff032d4a39794bf850f4bfefec'
73fd4af Add neovim 'auto-session' plugin setup
ff47da9 Add minimal readme to my neovim configuration
6dff3eb Add minimal readme to my neovim configuration
c94ccd3 Remove neovim lazy load related config
75ca003 Fall back to 'paq.nvim' only when not on 'nixCats'
78094a0 Add 'nixCatsUtils' from 'nixCats'
6e81624 Add neovim packages to 'nixCats' flake
6ded0b1 Add minimal 'nixCats' flake template
d0550b3 Link NixOS repo in dotfiles repository

git-subtree-dir: dots
git-subtree-split: 24ce8f39af
2025-10-20 23:59:27 +02:00
d4cd0f7806 Migrate '.vim/plugin' to neovim 2025-10-20 23:57:01 +02:00
a9a7602807 Remove vim yin/yang colorschemes 2025-10-20 23:57:01 +02:00
06c51f35fa Migrate '.vim/ftplugin' to neovim 2025-10-20 23:57:01 +02:00
b89e8b09ce Migrate vim snippets to neovim (LuaSnip) 2025-10-20 23:57:01 +02:00
662213d8c6 Migrate '.vim/ftdetect/prolog' to neovim 2025-10-20 23:57:01 +02:00
e29326a34b Migrate '.vim/after/syntax' to neovim 2025-10-20 23:57:01 +02:00
b65127dbd4 Migrate vim init config to neovim 2025-10-20 23:57:01 +02:00
a605297931 Migrate '.vim/after' to neovim 2025-10-20 23:57:01 +02:00
3f106f671e Add 'eslint_d' PID to 'nvim-lint' config 2025-10-16 12:14:15 +02:00
fa233fb022 Remove jira aliases 2025-10-16 12:08:22 +02:00
5fd3203035 Disable 'xdg-user-dirs' by default 2025-10-16 11:56:18 +02:00
550c1e9521 Alias bash 'history' command to 'h' 2025-10-16 11:56:18 +02:00
e94421aff6 Fix Iosevka font in NixOS 2025-10-15 23:23:58 +02:00
6f79b79bdd Add neovim dependencies to flake 2025-10-15 22:48:09 +02:00
e1abfa2502 Add neovim dependencies to flake 2025-10-15 22:48:09 +02:00
d46c1d0ea6 test 2025-10-15 22:25:28 +02:00
ee54549a2c test 2025-10-15 22:25:28 +02:00
ca8900fbea Merge commit 'dc4ebfc66bbf44a358fb1898a1b76b4e2efb9541' 2025-10-15 22:21:14 +02:00
dc4ebfc66b Merge commit '490998275cbdc5ff032d4a39794bf850f4bfefec' 2025-10-15 22:18:59 +02:00
73fd4af9d2 Add neovim 'auto-session' plugin setup 2025-10-15 22:17:56 +02:00
71f4477a9f Lock flake 2025-10-15 21:27:59 +02:00
ff47da96f6 Add minimal readme to my neovim configuration 2025-10-15 21:26:56 +02:00
001696844a Add minimal readme to my neovim configuration 2025-10-15 21:26:56 +02:00
6dff3ebec4 Add minimal readme to my neovim configuration 2025-10-15 21:19:22 +02:00
c94ccd3903 Remove neovim lazy load related config 2025-10-15 20:50:58 +02:00
bce4e84cd0 Remove neovim lazy load related config 2025-10-15 20:50:58 +02:00
75ca0033a2 Fall back to 'paq.nvim' only when not on 'nixCats' 2025-10-15 20:38:39 +02:00
88f20e3aee Fall back to 'paq.nvim' only when not on 'nixCats' 2025-10-15 20:38:39 +02:00
78094a0075 Add 'nixCatsUtils' from 'nixCats' 2025-10-15 20:15:43 +02:00
6327afdfa9 Add 'nixCatsUtils' from 'nixCats' 2025-10-15 20:15:43 +02:00
eb76bf69c2 Source kitty configuration in home manager 2025-10-15 19:45:01 +02:00
2f939ed531 Add 'nixCats' neovim flake to NixOS flake 2025-10-14 22:59:24 +02:00
6e816241cd Add neovim packages to 'nixCats' flake 2025-10-14 22:03:49 +02:00
8003b6231f Add neovim packages to 'nixCats' flake 2025-10-14 22:03:49 +02:00
6ded0b12d3 Add minimal 'nixCats' flake template 2025-10-13 21:59:58 +02:00
bcad8acd9f Add minimal 'nixCats' flake template 2025-10-13 21:59:58 +02:00
a117de9470 Source relevant '.bashrc.d/*' files in NixOS home manager 2025-10-05 19:56:38 +02:00
da320c9dc4 Simplify NixOS fzf configuration 2025-10-05 19:56:38 +02:00
7520bedbf4 Update disko virtual machine configuration 2025-10-05 19:56:38 +02:00
125d379f50 Migrate 'dots/.bashrc' fzf config to NixOS home manager 2025-10-05 19:56:38 +02:00
7a14323817 Add packages from 'dots/.bin/setup' 2025-10-05 19:56:38 +02:00
9f821cd286 Move packages into host's 'home.nix' 2025-10-05 19:56:38 +02:00
f25bab5d77 Refactor 2025-10-05 19:56:38 +02:00
7ab3062846 Move home manager config into host's 'home.nix' 2025-10-05 19:56:38 +02:00
4c40b725ab Format nix files using 'nixfmt' 2025-10-05 19:56:38 +02:00
46b077f2db Ignore 'nixos-efi-vars.fd' (output from building vm) 2025-10-05 13:39:16 +02:00
72d972aea2 Update NixOS readme 2025-10-05 13:39:16 +02:00
5ac67daf68 Use disko 'single-disk-ext4' template for vm host 2025-10-05 13:39:16 +02:00
53eca03a5b Add 'kitty' package 2025-10-05 12:31:24 +02:00
858af21d6c Update readme 2025-10-05 12:31:24 +02:00
abc42942e4 Add 'networking.hostId' (required for ZFS) 2025-10-05 12:31:24 +02:00
2f64d10171 Fix ZFS issue with virtual disks (https://discourse.nixos.org/t/zfs-with-disko-faluire-to-import-zfs-pool/61988/3) 2025-10-05 12:31:24 +02:00
f88afb52a8 Fix inputrc path 2025-10-05 12:31:24 +02:00
5e5e0a4906 Set up disko zfs encrypted root for 'vm' host 2025-10-05 12:31:24 +02:00
1d903c0c93 Use an easy (though insecure) initial password (for testing) 2025-10-04 21:25:32 +02:00
3fde62547d Modularize NixOS 'vm' configuration 2025-10-04 21:25:11 +02:00
57d724cf36 Use 'systemd-boot' bootloader instead of GRUB 2025-10-04 20:52:07 +02:00
a2d4fa4853 Update NixOS networking configuration 2025-10-04 20:52:07 +02:00
cb8cd98607 Fix SSH daemon not starting 2025-10-04 20:17:05 +02:00
ac72a7d7f3 Source 'dots/.inputrc' 2025-10-04 19:07:02 +02:00
1cba5fbc84 Switch from gnome to XMonad (config from dots) 2025-10-04 19:06:01 +02:00
d0550b342a Link NixOS repo in dotfiles repository 2025-10-04 18:33:55 +02:00
4d542a32ea Link NixOS repo in dotfiles repository 2025-10-04 18:33:55 +02:00
71725ce35b Add 'dots/' from commit '357b97a7692c8d5ec9666d8d7d7c98d81cb51cf0'
git-subtree-dir: dots
git-subtree-mainline: 2ad98cde17
git-subtree-split: 357b97a769
2025-10-04 18:28:04 +02:00
357b97a769 Remove absolute path from github credential helper 2025-10-04 18:03:55 +02:00
6a66cab489 Define nixGL with wrapper 2025-10-03 23:42:39 +02:00
dfc0d89694 Remove redundant vim JS/TS plugins (as migrated to nvim) 2025-10-03 23:42:39 +02:00
cb72d938a1 Extend 'ftdetect.lua' for tsconfig and dotenv files 2025-10-03 23:42:39 +02:00
547dc89e35 Migrate vim vscode jsonc filetype detection to nvim 2025-10-03 23:42:39 +02:00
320587b035 Remove 'tpope/vim-commentary' and use nvim commenting (see ':h commenting') 2025-10-03 23:42:39 +02:00
bfc1af68e3 Modularize nix packages into 'packages.nix' 2025-10-03 23:42:39 +02:00
ac7e75225e Set up nix with home manager (only work host for now) 2025-10-03 23:42:39 +02:00
9979969a15 Replace 'alacritty' with 'kitty' 2025-10-03 23:42:19 +02:00
b91fb99ebe Add kitty configuration 2025-10-03 23:33:16 +02:00
f5bdce85a9 Update tmux themes to be more consistent 2025-10-03 23:30:48 +02:00
a837ed2d04 Add zenwritten tmux themes (from zenwritten.nvim) 2025-10-03 23:19:49 +02:00
73d2f5135d Add zenwritten kitty themes (from zenwritten.nvim) 2025-10-03 23:19:27 +02:00
c1f1cc8be6 Add 'ip' bash aliases 2025-07-12 18:14:26 +02:00
f0eea1e80d Clean bash aliases (remove unused) 2025-07-12 18:14:01 +02:00
9c951e10fb Extract JavaScript aliases to '~/.bash_aliases/js' 2025-07-12 18:10:50 +02:00
8776f15789 Add 'sshconfig' host snippet 2025-06-28 14:02:05 +02:00
6560e2e9a4 Add taskwarrior 'sync.example' 2025-06-28 13:54:33 +02:00
9c01f758fd Replace 'gitblame.nvim' with 'gitsigns.nvim' 2025-06-28 13:46:57 +02:00
1876c95c69 Add ripgrep pcakage to 'setup' script (dependency for nvim) 2025-06-27 19:34:20 +02:00
52640bfc18 Remove 'whoamip' script 2025-06-27 19:33:55 +02:00
c91bd257bc Hide prettier errors 2025-06-27 19:31:33 +02:00
d154d564df Use 'stop_after_first' for prettier in 'conform.nvim' 2025-06-27 19:29:59 +02:00
84b74c8396 Support 'helm' yaml files 2025-06-27 19:28:36 +02:00
1b6e88b7c7 Automate selecting jira tickets in 'git-cb' script 2025-06-20 15:11:25 +02:00
c190fe59f1 Add 'git-cb' script 2025-06-20 15:03:58 +02:00
705b492652 Source jira aliases if installed 2025-06-20 13:58:29 +02:00
1f020a5ba3 Add global yamllint config 2025-06-19 11:46:12 +02:00
33f86bb07c Add alacritty zenwritten themes 2025-06-16 21:16:22 +02:00
2510e98771 Configure tridactyl search bindings 2025-06-06 20:40:08 +02:00
9e70b8a35c Add 'tridactylrc' 2025-06-06 20:25:35 +02:00
951bd79dc6 Remove 'nvm' from bashrc (using 'mise' now) 2025-06-06 19:54:24 +02:00
cfe42355a0 Add commented out nvim options 2025-06-05 20:23:39 +02:00
4cb0a2a481 Improve 'save-passwddb' script 2025-06-05 20:14:47 +02:00
096b2d4f71 Fix and simplify 'nvm' setup 2025-05-27 23:20:23 +02:00
8dc75f466b Add 'xclip' package to '~/.bin/setup' 2025-05-27 21:29:38 +02:00
840a38e3a0 Migrate 'unblevable/quick-scope' to nvim 'jinh0/eyeliner' 2025-05-15 18:22:08 +02:00
bd03545dda Fix 'image.nvim' plugin warnings 2025-05-15 18:09:50 +02:00
9ad7111831 Migrate pandoc 'AnkiDeck' function to neovim 2025-05-15 18:09:50 +02:00
17d1ea461e Migrate 'fzf.vim' to neovim 'fzf-lua' 2025-05-15 18:09:37 +02:00
45502b95d5 Remove telescope and dressing 2025-05-15 16:30:21 +02:00
bab22fe2bf Modularize ssh config 2025-05-15 10:28:58 +02:00
e45f56e5a1 Set up neovim AI plugins (for test run) 2025-05-10 22:56:19 +02:00
d810950cb5 refactor: use explicit executable check for zk command 2025-05-09 22:22:01 +02:00
8fa3431d2f fix: improve zk command check and error handling 2025-05-09 22:21:15 +02:00
22cfd2da65 chore: update zk setup script prompts and execution 2025-05-09 22:21:08 +02:00
3625415a2e feat: add prompt to run zk after setup 2025-05-09 22:16:27 +02:00
3abe32ee36 feat: add setup script for zettelkasten 2025-05-09 22:16:19 +02:00
6f5edef1d9 Add diagnostic config 2025-05-05 23:07:27 +02:00
f239390ce2 Add 'stylua' config 2025-05-05 23:06:22 +02:00
3d63b16661 Add/migrate some basic lua snippets 2025-05-05 23:06:00 +02:00
d12d797e66 Use smarter newline mapping for json filetype 2025-05-05 23:02:46 +02:00
c77d44af33 Add neovim plugins (+configuration) 2025-05-05 22:51:56 +02:00
73160c6fce Add nvim 'fzf-lua' plugin 2025-05-05 22:51:56 +02:00
dbd3ab0590 Set up nvim package manager 2025-05-05 22:51:56 +02:00
e4e0dc73d8 Add neovim keymaps 2025-05-05 22:51:55 +02:00
3c8abe79fd Highlight nvim yanks 2025-05-01 17:01:30 +02:00
84ac0526dc Detect '.lintstagedrc' filetype (json) 2025-05-01 17:01:01 +02:00
0b25af178a Add neovim keymaps 2025-05-01 16:59:35 +02:00
3fa0fe2e5f Move vim config to 'vim' module 2025-05-01 16:58:23 +02:00
410a6318a2 Add 'shellcheck=bash' and editor hints to bash config/aliases 2025-03-01 12:05:26 +01:00
33b589caff Switch terminal to kitty 2025-02-16 16:15:03 +01:00
dd772fb08a Move XMonad calculator command to '.bin/calc' 2025-02-16 16:13:00 +01:00
0a98cbe4b4 Remove spawn zettelkasten XMonad keybinding 2025-02-16 16:08:51 +01:00
38873fa112 Track tmux hooks fallback config 2025-02-06 09:28:09 +01:00
b2dd862a51 Use 'local' for function arguments 2025-02-06 00:15:12 +01:00
a2c8d4a508 Extend automatic dotfiles setup 2025-02-05 23:18:10 +01:00
c0de20d3f8 Add packages to setup 2025-02-05 23:17:55 +01:00
d1724c7043 Update readme 2025-02-05 20:42:33 +01:00
8216c7ba2e Update tmux config 2025-02-05 20:34:13 +01:00
b78379e2d3 Add 'gnome-setup' to 'setup' 2025-02-05 20:32:09 +01:00
06d7bdd15c Update dotfiles setup 2025-02-05 20:11:42 +01:00
8af74f1f2e Add worktree config alias 2025-02-05 19:48:28 +01:00
909b5bf8f0 Update Github CLI config 2025-02-05 19:48:11 +01:00
66ed9aaae6 Configure alacritty window settings 2025-02-05 17:31:44 +01:00
4ba006ceef Clear gnome pinned apps on setup 2025-02-05 01:22:50 +01:00
a568515ad9 Add 'setup-gnome' script 2025-02-05 01:11:50 +01:00
231140b8e3 Update 'setup' script 2025-02-05 00:31:41 +01:00
1bc9bc08fd Add 'sb-wg' script 2025-01-28 19:25:56 +01:00
87e36b8369 Remove redundant 'taskd' environment variables 2025-01-15 17:20:36 +01:00
2d7082dba7 Remove wacom keybindings 2025-01-11 22:30:36 +01:00
468b82c9e0 Map 'F10 to xrandr --auto 2025-01-11 22:30:08 +01:00
3c4708142f Update gitignore 2025-01-11 15:52:40 +01:00
861166f890 Improve '.bash_history' config 2025-01-11 15:48:24 +01:00
ea82765435 Update alacritty config 2025-01-11 15:41:21 +01:00
9fd9c0ba42 Split alacritty config 2025-01-11 15:34:53 +01:00
3a7b8738c3 Use 'nvimdiff' as mergetool 2025-01-06 17:15:03 +01:00
8886840101 Remove autorandr config 2025-01-02 21:35:23 +01:00
dd37db3ffc Remove sketch (or wacom) scripts 2025-01-02 21:33:44 +01:00
3301d0c6a3 Refactor 'fzf-book' 2025-01-02 21:14:07 +01:00
c0abae0c1f Add pnpm config 2025-01-02 21:08:12 +01:00
5749b46505 Make 'ag' respect gitignore 2025-01-02 21:07:20 +01:00
f0bcec96fc Add git rebase aliases 2025-01-02 21:05:31 +01:00
e3dd9113f4 Remove default snippet comments 2025-01-02 21:01:31 +01:00
80429710c4 Source '~/.bash_completions' if it exists 2024-12-28 13:29:03 +01:00
22f7479872 Use '.' instead of 'source' 2024-12-28 13:28:43 +01:00
a4c2a7894b Remove 'coc.nvim' plugin 2024-12-25 16:47:57 +01:00
ea65fd3228 Use single key for interactive staging (git) 2024-12-25 16:47:57 +01:00
2c67f87bd6 Update alacritty config 2024-12-23 21:11:53 +01:00
2693c6b957 Migrate alacritty to toml 2024-12-23 20:51:32 +01:00
a64a732d08 Update xmonad statusbar(s) 2024-12-23 00:02:20 +01:00
b6e4ddf509 Update XMonad imports 2024-12-22 23:58:23 +01:00
a6af911f02 Remove nix profile from path 2024-12-22 23:50:04 +01:00
95ce6eb289 Modify taskwarrior default report 2024-12-22 20:06:21 +01:00
af1d652354 Extract taskwarrior aliases to own file 2024-12-22 20:06:00 +01:00
1b3429c187 Add taskwarrior 'z-arch' host config 2024-12-22 19:51:39 +01:00
02b362180c Update taskwarrior config 2024-12-22 19:50:15 +01:00
3ece1966d8 Remove ipython profile 2024-12-15 21:24:24 +01:00
b2cf9a5390 Add codi shell wrapper 2024-12-15 13:39:39 +01:00
1833370e44 Save X session errors 2024-12-14 17:55:03 +01:00
d3e6cde41c Only set 'SSH_AUTH_SOCK' out of ssh session 2024-12-14 17:51:45 +01:00
723a0a1828 Source bash prompt 2024-12-14 17:39:29 +01:00
e39a455533 Add fold for aliases 2024-12-14 17:39:02 +01:00
1dbf01aee3 Ignore shell check SC1091,SC1090 2024-12-14 17:14:24 +01:00
20817e7a18 Add 'git commit --ammend' alias 2024-12-14 16:35:58 +01:00
866ddc5fa9 Add signing key to git config 2024-12-14 16:35:06 +01:00
7f384e4db7 Add npm and yarn checks 2024-12-14 16:34:07 +01:00
6873e304b0 Update git aliases 2024-12-14 15:57:23 +01:00
a2461d5056 Disable git commit gpgsign 2024-12-14 15:51:50 +01:00
c72ec3e60f Add git worktree alias 2024-12-14 15:51:16 +01:00
33ef7a27c9 Migrate 'dmenu-trans' to rofi 2024-12-12 19:24:39 +01:00
d58b4a36af Add 'taskdeps' script 2024-12-07 20:31:53 +01:00
b4c9de7922 Remove unused systemd user services 2024-10-08 20:37:57 +02:00
92edd838ae Update wiki.vim config 2024-10-08 20:36:56 +02:00
0d22067637 Update 'pandocCiteKey' syntax highlighting 2024-10-08 20:35:51 +02:00
a69b9213c6 Fix 'GetContext' 2024-10-08 20:35:12 +02:00
e878e89e62 Allow remap for split mappings 2024-10-08 20:34:46 +02:00
7f035753d3 Add 'AnkiDeck' function 2024-10-08 20:34:26 +02:00
7ab22f96bd Remove 'vim-obsession' plugin 2024-10-08 20:33:37 +02:00
e96bd89a9c Update wiki file types 2024-10-08 20:30:38 +02:00
7714ecd7de Update quickscope.vim config 2024-10-08 20:29:05 +02:00
9fed462f09 Remove 'copilot.nvim' 2024-10-08 20:22:31 +02:00
0ca6f41cc4 Reorganize bash config 2024-09-29 11:41:29 +02:00
0b7dfd2a65 Move host-specific configuration 2024-09-29 11:38:47 +02:00
630ff61b3a Update bash editor configuration 2024-09-29 11:36:20 +02:00
a6142b7d3a Update NeoVim VSCode mappings 2024-09-23 20:36:20 +02:00
ef5490b76b Add neovim vscode config 2024-09-22 18:36:31 +02:00
ebb72ee031 Organize vimrc 2024-09-22 16:27:17 +02:00
2994e05c8f Clean vimrc 2024-09-22 16:03:50 +02:00
a2dc73ef11 Fix guibg error 2024-09-22 14:13:51 +02:00
b6f8e5492a Separate config into '.vim/plugins/' 2024-09-22 11:54:49 +00:00
cadf31a566 Update colorscheme config 2024-09-22 11:54:49 +00:00
e44e2a7263 Add rofi keybindings to XMonad 2024-09-22 11:54:49 +00:00
a8ac313b18 Update password backup scripts 2024-09-22 11:54:49 +00:00
44db910165 Update 'save-passwddb script'
Update `save-passwddb` script to use Proton drive instead of Google
drive. Also fixes an issue with too many files being included.
2024-09-22 11:54:49 +00:00
ff0a38e376 Delete .vim/snips/.snippets 2024-09-22 11:41:30 +00:00
dfdab463d8 Update taskwarrior sync setup 2024-09-13 14:17:00 +02:00
76ce07c342 Use regex for filename basename snippet 2024-09-02 19:17:50 +02:00
589830878d Update 'layoutHook' 2024-03-30 16:59:35 +01:00
1431f1dfc6 Add 'swallowEventHook' 2024-03-30 16:50:15 +01:00
98ae2f590f Remove ShowWName stuff 2024-03-30 16:27:19 +01:00
1fd36b3eaa Add folds for hooks 2024-03-30 16:26:32 +01:00
3677bc2629 Add 'myHandleEventHook' 2024-03-30 16:21:22 +01:00
cb915e59a1 Add 'myModMask' 2024-03-30 16:17:43 +01:00
16766eafea Organize imports 2024-03-30 16:15:35 +01:00
a22650254a Fix deprecated 'dynamicPropertyChange' 2024-03-30 16:00:54 +01:00
0b59f1db5c Update '.bash_profile' 2024-01-30 21:51:18 +01:00
492d2eec85 Add '1px border <color>' snippets 2024-01-30 21:48:10 +01:00
2d3eb380db Use polybar config 2024-01-30 15:54:02 +01:00
54041d985d Update readme 2024-01-28 21:21:44 +01:00
bbcb20519a Update 'fzf-book' script 2024-01-28 21:21:33 +01:00
40079040b7 Update anki scripts 2024-01-28 21:20:49 +01:00
bbeeacaf74 Remove 'prep-duration' argument 2024-01-28 21:20:21 +01:00
ce3baa2cdf Update 'clear' argument 2024-01-28 21:20:05 +01:00
f63bd54d8d Update pomo directory 2024-01-28 21:19:21 +01:00
374ff22a24 Update drive directory 2024-01-28 21:17:59 +01:00
a56c57bb90 Update 'tmux-workspace' script 2024-01-28 20:34:43 +01:00
9b789bf2b2 Fix shellcheck warning 2024-01-28 20:33:29 +01:00
775ef92741 Remove 'get-displays' 2024-01-28 20:32:17 +01:00
1ce4fd0747 Use rofi launcher 2024-01-28 20:27:45 +01:00
432c8f1d88 Update key bindings 2024-01-28 20:26:46 +01:00
105e23e5a8 Add 'zk' script 2024-01-26 12:27:41 +01:00
168e7794d4 Update user-dirs 2024-01-26 12:19:17 +01:00
e162bae40f Add section link snippet 2024-01-09 12:45:49 +01:00
a48c6afaec Update .gitignore 2024-01-03 19:39:59 +01:00
f8da4e2488 Update 'shiftAndView' 2024-01-03 19:39:15 +01:00
d68baf1206 Snap floating windows on drop 2024-01-03 18:58:31 +01:00
3be9de070e Add quarto plugin 2024-01-02 21:35:56 +01:00
7f8339a4a6 Extract 'wiki.vim' config 2023-12-30 13:30:48 +01:00
c684f1312f Extract 'md-img-paste.vim' config 2023-12-30 13:27:22 +01:00
e896d17fc4 Update shebang snippets 2023-12-30 01:46:22 +01:00
bcef7d8547 Update pandoc config 2023-12-21 22:41:32 +01:00
e980fffff2 Update fzf config 2023-12-21 22:40:04 +01:00
370051f6b1 Update eslint & prettier config 2023-12-18 14:06:59 +01:00
4adcddebc4 Extract 'commentary' config 2023-12-18 14:03:51 +01:00
7cdcbb47a4 Extract (& update) 'copilot' config 2023-12-18 14:03:08 +01:00
646dd21ec8 Extract 'sandwich' config 2023-12-18 14:01:24 +01:00
925aa7788b Move silver_searcher config 2023-12-18 13:57:05 +01:00
8e9072a15b Improve zettelkasten preview 2023-12-18 13:54:07 +01:00
23e2321aa0 Extract 'utils' config 2023-12-18 13:50:23 +01:00
6ef2d320f1 Extract 'fold' config 2023-12-18 13:47:46 +01:00
cc6327dd3f Extract 'netrw' config 2023-12-18 13:45:53 +01:00
0e6fa0d835 Hack statusbar color theme update 2023-12-15 16:13:06 +01:00
a951fa634e Add polybar example config 2023-12-13 16:06:39 +01:00
8d1e902732 Untrack xournalpp config 2023-12-11 23:44:40 +01:00
9477c3f091 Untrack blender config 2023-12-11 22:50:19 +01:00
529296a747 Sign commits using gpg 2023-12-10 10:52:57 +01:00
3bd86fe458 Move alacritty config to $XDG_CONFIG_HOME 2023-12-10 10:39:18 +01:00
d2e99d4874 Use example file for spotify config 2023-12-10 10:33:37 +01:00
b50081f17e Use nvimpager as pager 2023-12-10 01:08:12 +01:00
1676895fd5 Bind 'copy' to 'y' 2023-12-10 01:07:39 +01:00
f2d9758fe0 Fix clearing timer 2023-12-09 21:29:04 +01:00
b2c88e081d Refactor 'pomo' script 2023-12-09 21:19:41 +01:00
ad85195dc8 Add module docstring 2023-12-09 20:48:54 +01:00
1b4f71af87 Save all KeePassXC databases 2023-12-09 20:39:04 +01:00
32c6c57654 Replace 'init.vim' by 'init.lua' 2023-12-09 17:49:35 +01:00
3897f3a2a0 Export 'GOPATH' 2023-12-09 17:49:35 +01:00
bf17e1464f Use '<C-a>' for tmux prefix 2023-12-09 17:49:35 +01:00
2eb8e16200 Keep inputrc in default location (fix) 2023-12-09 17:49:35 +01:00
019405af52 Update screen temperature script 2023-11-21 13:57:28 +01:00
729306d051 Fix delete shortcut 2023-11-18 17:50:01 +01:00
hektor
55aa30845d Update README.md 2023-11-18 17:43:15 +01:00
9dd13430e6 Use polybar 2023-11-18 17:35:16 +01:00
ff12434b50 Add 'copy window to all workspaces' shortcuts 2023-11-18 17:26:46 +01:00
890483732b Add basic ssh host backup script 2023-10-21 17:11:53 +02:00
1bfa76dc2c Add 'fzf-ssh' script 2023-10-21 16:52:37 +02:00
c792241831 Use screen-temperature script 2023-09-12 12:45:01 +02:00
a8a1416c50 Fix shellcheck warnings 2023-08-30 17:03:37 +02:00
f7ab24dc21 Update tmux path for config reload 2023-08-30 17:03:37 +02:00
4cc468da55 Update mpv config 2023-08-30 17:03:37 +02:00
732368935f Update firefox config 2023-08-30 17:03:37 +02:00
359989245d Update autorandr config 2023-08-30 17:03:37 +02:00
3091b4570f Untrack atom config 2023-08-30 17:03:37 +02:00
b32cca36f4 Move inputrc to 'XDG_CONFIG_HOME' 2023-08-30 17:03:37 +02:00
cfb35e1dcf Reopen zettelkasten to latest zettel 2023-08-30 17:03:37 +02:00
29ddc2ef9e Remove 'sb-portfolio' 2023-08-30 17:03:37 +02:00
68525ceb0f Add num_to_review 2023-08-30 17:03:37 +02:00
d137f8ec35 Generalize 'sb-anki' to other taskbars 2023-08-30 17:03:37 +02:00
96777fe435 Update pomodoro script for xmobar 2023-08-30 17:03:37 +02:00
cf37c8e850 Remove terminal launcher 2023-08-30 17:03:37 +02:00
746ee94409 Update 'fzf-book' script 2023-08-30 17:03:37 +02:00
da1c7d741a Update 'documentation' 2023-08-30 17:03:37 +02:00
9db91a8c7d Generalize 'sb-tasks' to other taskbars 2023-08-30 17:03:37 +02:00
ee63010490 Trust bluetooth devices before connecting 2023-08-30 17:03:37 +02:00
f12724acb1 Update pandoc snippets 2023-08-30 01:15:29 +02:00
4211189c1a Comply with ISO 639-2/T 2023-08-17 12:36:18 +02:00
9376fcc6c8 Remove redundant micromamba config 2023-08-05 18:09:40 +02:00
b2a8e6bf97 Update bash aliases 2023-08-05 18:08:48 +02:00
f1b0bba857 Add micromamba configuration 2023-08-02 17:12:37 +02:00
64d7773ed4 Source private bashrc config 2023-08-02 17:09:16 +02:00
790b51c993 Add host-specific bashrc config 2023-08-02 17:06:28 +02:00
1767d94665 Set editor to nvim 2023-08-02 16:58:55 +02:00
15d503ef4a Update '.bash_profile' 2023-08-02 16:58:08 +02:00
6edb84537a Simplify dual boot aliases 2023-08-02 16:54:35 +02:00
c71b291f4c Make dual boot aliases host-specific 2023-08-02 16:50:58 +02:00
263238f7f4 Source private bash aliases 2023-08-02 16:42:46 +02:00
e329883776 Make brightness alias host-specific 2023-08-02 16:40:27 +02:00
9b3bff08b5 Update gitignore 2023-08-02 16:35:16 +02:00
00421d1843 Update '.inputrc' 2023-08-02 16:33:25 +02:00
b64fe23c86 Remove screen layout script (using autorandr) 2023-07-25 16:56:05 +02:00
e04228a817 Update backup script 2023-07-12 20:52:51 +02:00
3ed3bf15ff Remove unused scripts 2023-06-12 00:30:09 +02:00
7048f0848a Rename 'backup-home' to 'save-home' 2023-06-12 00:28:07 +02:00
4e2aed0e1d Detect if password database is not present 2023-06-12 00:26:40 +02:00
cb89b0add4 Detect if password database is not present 2023-06-12 00:26:06 +02:00
2133e559aa Detect if password database is not present 2023-06-12 00:25:20 +02:00
f7e8bb960d Track downloads path 2023-06-11 23:45:57 +02:00
5c68dbf38f Track screenshot folder structure 2023-06-11 23:42:05 +02:00
2317648d3e Update flameshot config 2023-06-11 23:39:31 +02:00
80de8d5f50 Update (& move) coc.nvim config 2023-06-08 19:33:32 +02:00
11a6beae9e Add XDG dir config 2023-06-08 19:33:32 +02:00
775eed7456 Add IPython config 2023-06-08 19:33:32 +02:00
75f0f54197 Fix workspace keybindings (screen off by one) 2023-06-08 18:49:05 +02:00
67d9c9c0a9 Make date more informative 2023-06-04 15:21:59 +02:00
c79ee4b4e4 Add SWNConfig 2023-06-04 15:21:33 +02:00
59d01dfc80 Refactor 2023-06-04 15:20:52 +02:00
bd0a957c78 Update keybindings 2023-06-04 15:20:14 +02:00
58d4223a85 Shift to workspace based on window name 2023-06-04 15:17:37 +02:00
39376dbb5d Fix folds 2023-06-04 15:00:30 +02:00
e6a4c84b25 Adapt layout to screen width 2023-06-04 14:49:51 +02:00
238996223a Update manageHook 2023-06-04 14:48:23 +02:00
6357a64c06 Use named layouts 2023-06-02 22:22:42 +02:00
c09f2a21fe Update statusbars for multiple screens 2023-06-02 22:21:03 +02:00
b170456972 Add fold markers 2023-06-02 22:12:39 +02:00
9d7b97f447 Separate workspaces for separate screens 2023-05-22 18:26:17 +02:00
904c22eb3d Add readme 2023-05-21 19:52:13 +02:00
f72c755737 Untrack suckless tools 2023-05-21 19:47:49 +02:00
dbb2f510a2 Update bash aliases 2023-05-21 19:38:42 +02:00
86337f44b8 Dedicate folder for bash aliases 2023-05-21 19:35:20 +02:00
f1b9979796 Update bash aliases 2023-05-21 19:17:14 +02:00
0ec7c24f4e Add alias aliases 2023-05-21 19:16:51 +02:00
465b690404 Update gh config 2023-05-21 19:14:47 +02:00
0e89f2f49c Bind <F8> to KeePassXC 2023-05-21 18:31:30 +02:00
dca17cc5ef Start albert from Xmonad 2023-05-21 18:31:30 +02:00
19d81043c0 Adjust window border width 2023-05-21 18:31:30 +02:00
1cd3f92aef Update manageHook 2023-05-21 18:31:30 +02:00
b85cd99004 Update gitconfig 2023-05-21 18:31:30 +02:00
778f531d68 Add filename snippets for all filetypes 2023-05-20 21:13:25 +02:00
c36b2f340d Track (empty) .build directory 2023-05-20 12:16:00 +02:00
632c4d3f11 Add shebang snippets 2023-05-20 10:30:45 +02:00
3fb5f1d6d8 Add filename snippet 2023-05-19 19:39:18 +02:00
a72f982ac8 Add codeblock snippets 2023-05-19 19:38:51 +02:00
ae4ccbfd8d Add math mode snippets 2023-05-19 19:37:57 +02:00
77bbc6bedf Add math mode snippets 2023-05-19 19:35:07 +02:00
9230f8c847 Add tikzpicture snippet 2023-05-19 19:30:44 +02:00
5ad07b3261 Update xmobar scripts 2023-05-19 19:24:25 +02:00
b315023fbd Update '.resticexclude' 2023-05-19 18:59:03 +02:00
52a0fa2038 Fix taskwarrior sync hook 2023-05-19 18:26:26 +02:00
eafb7bfa05 Update xbindkeys config 2023-05-19 17:28:16 +02:00
ea5c5a318c Move xbindkeys config 2023-05-19 17:27:12 +02:00
edd70f54d9 Extract workspaces 2023-05-15 14:36:12 +02:00
d48f48b492 Update backup script 2023-05-15 14:06:39 +02:00
24a082a0cf Update bash aliases 2023-05-15 14:00:41 +02:00
61a24b0680 Update path alias 2023-05-15 13:59:40 +02:00
0417195c98 Update anki deck script 2023-05-15 13:47:59 +02:00
3749a4430f Update XDG environment variables 2023-05-15 13:45:55 +02:00
43f82f7f60 Update cloze snippets 2023-05-15 13:43:37 +02:00
d20c4facb8 Detect snippet math contexts 2023-05-15 13:41:06 +02:00
43b8aaef25 Add pandoc html comment snippets 2023-05-15 13:38:13 +02:00
5c9a55c703 Add micromamba alias 2023-05-15 13:37:29 +02:00
b194343a59 Update zk preview 2023-05-15 13:36:57 +02:00
41d68bb576 Remove 'vim-markdown-composer' 2023-05-15 13:35:36 +02:00
a7bc1d2dba Update gitconfig 2023-05-12 21:08:31 +02:00
a7f93cec23 Move comment highlighting to 'after/syntax' 2023-05-12 14:32:57 +02:00
3e0b86d79d Merge branch 'master' of github.com:hektor/dots 2023-05-07 16:47:50 +02:00
b184e0ded9 Update taskwarrior config 2023-05-05 20:31:42 +02:00
cc80a4350e Update git config 2023-05-04 23:58:11 +02:00
cfa1b8e077 Update xmonad config 2023-05-04 23:57:30 +02:00
4f98897de0 Update xmobar 2023-05-04 23:56:20 +02:00
fa7a5a7402 Add command for listing anki decks 2023-05-04 02:54:51 +02:00
9831d3116d Update npmrc 2023-05-01 15:56:35 +02:00
3aedcf771e Remove conda configuration 2023-05-01 15:55:07 +02:00
8f93161de7 Use '.git' directory for dots 2023-05-01 15:35:18 +02:00
de66933998 Rename wiki to zk (zettelkasten) 2023-05-01 15:34:27 +02:00
1a9c11bf59 Untrack wiki files 2023-05-01 15:27:25 +02:00
01b9d5e7ea Add zathura shortcuts 2023-05-01 15:16:22 +02:00
45ba9b7780 Update wiki files 2023-05-01 15:13:20 +02:00
60fd2ae1a2 Update default applications 2023-04-30 18:25:06 +02:00
294e5d4f19 Update picom config 2023-04-30 18:24:15 +02:00
a67ce56472 Update solaar config 2023-04-30 18:22:40 +02:00
b622f9e8ef Update resticexclude 2023-04-30 18:22:06 +02:00
1cf327948f Replace 'gitgutter' with 'coc-git' 2023-04-30 18:21:01 +02:00
802f96c88e Remove conda config 2023-04-30 18:19:39 +02:00
eb5fdd0e90 Add example dotenv 2023-04-30 18:17:54 +02:00
9b89dc92aa Remove submodule 2023-04-30 18:17:39 +02:00
dbe8a90764 Move newsboat config 2023-04-29 19:06:46 +02:00
544e54d0c2 Update (pandoc) wiki config 2023-04-29 18:54:51 +02:00
02c522126e Detect '.pl' files as prolog (instead of perl) 2023-04-29 17:50:30 +02:00
0453fbc54b Conceal prolog operators 2023-04-29 17:48:11 +02:00
c72d040efa Update pandoc syntax 2023-04-29 17:47:53 +02:00
6b252287d9 Auto cd into wiki 2023-04-29 17:45:05 +02:00
4038483415 Add 'sketch' script 2023-04-24 14:03:55 +02:00
21f867d7e2 Merge branch 'master' of github.com:hektor/dots 2023-04-24 13:40:28 +02:00
b3b9d5f019 Use light theme 2023-04-24 13:39:06 +02:00
5d49875dee Add xournal config 2023-04-24 13:34:27 +02:00
ead867eedd Improve taskwarrior sync setup 2023-04-14 17:34:14 +02:00
9c2529ed81 Update JS & TS config 2023-04-07 22:58:07 +02:00
479e8adcbd Improve intellisense 2023-04-07 22:57:41 +02:00
7c85a948c7 Update coc eslint & prettier config 2023-04-07 22:56:10 +02:00
9fcdbbe018 Improve R5RS S-expression sends 2023-04-07 22:53:27 +02:00
79ed7b95e4 Improve config reloading 2023-04-07 22:51:31 +02:00
17aafe2308 Update plugin config 2023-04-07 22:51:17 +02:00
8895139e47 Update mappings 2023-04-07 22:48:21 +02:00
d24959da61 Clean up functions 2023-04-07 22:47:48 +02:00
12a6498bd2 Update fold config 2023-04-07 22:45:42 +02:00
9fc2f6430d Update general config 2023-04-07 22:42:56 +02:00
acd1c693cc Update markdown (wiki) config 2023-04-07 22:21:22 +02:00
540922f41d Add 'better BibTeX' config 2023-03-21 23:21:49 +01:00
6c7d25e0d5 Update '.bashrc' 2023-03-12 13:18:14 +01:00
c83e389bd2 Update '.bashrc' 2023-03-12 13:15:43 +01:00
27ff07af16 Merge branch 'master' of github.com:hektor/dots 2023-03-12 13:12:36 +01:00
1977c35a4e Update bash aliases to nvim 2023-03-12 13:10:50 +01:00
506e24b3d1 Configure coc bibtex 2023-03-12 13:09:45 +01:00
c4604b86e3 Update fzf setup 2023-02-26 22:59:09 +00:00
efec7e613b Merge 2023-02-26 22:56:09 +00:00
bb9536ed64 Add os-specific fzf setup 2023-02-26 22:38:43 +00:00
0d42dded5d Handle 'non selections' 2022-12-02 13:27:32 +01:00
cfc89a966b Add pacman scripts 2022-12-02 13:23:13 +01:00
db2ced576f Add vim scripts 2022-12-02 13:22:21 +01:00
14e48a56d2 Add xrandr helper scripts 2022-12-02 13:21:10 +01:00
e006a71deb Merge branch 'master' of github.com:hektor/dots 2022-12-01 16:40:48 +01:00
32b4db964f Detect & handle alternative boot managers 2022-12-01 16:38:19 +01:00
3e2b72ab5e Update 'xmonad' config 2022-12-01 16:21:19 +01:00
0a758aac9c Update 'xmobar' config 2022-12-01 16:18:44 +01:00
c4734e3769 Update 'xmobar' config 2022-12-01 16:16:44 +01:00
a5630c07d8 Update 'nvim' aliases 2022-12-01 16:13:46 +01:00
eec2dc2ace Set up 'sandwich' plugin 2022-12-01 14:01:41 +01:00
092b33fd91 Update 'coc' configuration 2022-12-01 13:57:54 +01:00
12eafb7c93 Set up 'quick-scope' plugin 2022-12-01 13:54:13 +01:00
e0d479ed2a Set up copilot 2022-12-01 13:51:29 +01:00
82efd873be Update wiki plugin configuration 2022-11-27 23:24:25 +01:00
f61aabdc55 Update wiki plugins 2022-11-27 23:12:07 +01:00
e5432c8d02 Add nvim init.vim 2022-11-24 17:12:56 +01:00
b169703eff Update alacritty colors 2022-11-24 15:24:29 +01:00
de25c3c66e Update zathura config 2022-11-24 15:24:09 +01:00
fbdef8b9da Merge branch 'master' of github.com:hektor/dots 2022-11-24 15:18:23 +01:00
d71a904e1e Add conda config 2022-11-24 15:16:31 +01:00
3d4386d7c8 Add feh config 2022-11-18 14:42:34 +01:00
hektor
14a6b620c3 Update README.md 2022-11-17 22:26:57 +01:00
1cf33f572f Swap layout images 2022-11-17 22:22:55 +01:00
2f6e037ec2 Update keyboard readme 2022-11-17 22:20:47 +01:00
6ead39987a Update layout 2022-11-17 22:16:52 +01:00
392c3c7dda Update script to create script 2022-10-27 03:29:24 +02:00
2bacc686ef Add pacman helper script 2022-10-27 03:19:46 +02:00
59cd5c2caf Add script to add script 2022-10-27 03:18:56 +02:00
2b82e9215f Update pomodoro script 2022-10-25 21:30:00 +02:00
b2325c9b81 Update fzf scripts 2022-10-25 21:29:26 +02:00
07b9154148 Remove alarm script 2022-10-25 21:23:37 +02:00
55c103a1f8 Update cam script 2022-10-25 21:22:52 +02:00
0cede4f2c0 Update removed keybindings 2022-10-25 21:17:06 +02:00
96c33e3bce Update launcher 2022-10-25 21:16:21 +02:00
3cd4221b58 Remove custom startupHook 2022-10-25 21:15:38 +02:00
14765b7ca8 Update 'manageHook' 2022-10-25 21:15:15 +02:00
64df0886d1 Update layouts 2022-10-25 21:14:38 +02:00
4b9c10db3c Remove screen corner actions 2022-10-25 21:13:04 +02:00
f0f6ca36ff Update xmobar configuration 2022-10-25 21:11:18 +02:00
5876b4c31d Organize xmonad imports 2022-10-25 21:09:32 +02:00
a2273f6197 Add nvm initialization 2022-10-25 20:57:14 +02:00
1102b7af3d Add nix package manager to path 2022-10-25 20:56:54 +02:00
06216074b5 Add 'XDG_CONFIG_HOME' environment variable 2022-10-25 20:56:27 +02:00
5caa515273 Improve fzf initialization 2022-10-25 20:56:01 +02:00
da3f1861c7 Update bash prompt 2022-10-25 20:54:33 +02:00
379a838dbe Add folds (markers) 2022-10-25 20:54:01 +02:00
6c029ba8f7 Add conda config 2022-10-24 18:13:56 +02:00
6185302965 Add flameshot config 2022-10-23 13:49:45 +02:00
433b9c4a0b Create fzf terminal launcher 2022-09-25 15:33:36 +02:00
c4c8530cdc Add layout keybindings 2022-09-24 16:18:46 +02:00
09eb56a828 Extend manageHook 2022-09-24 16:18:24 +02:00
416a8fe570 Add magnifier keybindings 2022-09-24 16:18:01 +02:00
fd15126606 Hide borders for single windows 2022-09-24 16:17:14 +02:00
a3b456757c Update anki cloze commands 2022-09-24 12:31:16 +02:00
a00afbe846 Adjust pandoc syntax highlighting 2022-09-24 12:30:37 +02:00
f8b0588763 Update environment variables 2022-09-24 12:29:42 +02:00
02c0816681 Update zathura config 2022-09-24 12:29:14 +02:00
b476884dd5 Update ssh key agent service 2022-09-24 12:28:50 +02:00
e181999204 Update replace w/ '.html' filter 2022-09-24 12:28:05 +02:00
2e06e8ae5f Use 's' for subs 2022-09-24 12:25:46 +02:00
e397242437 Update mpv config 2022-09-24 12:25:34 +02:00
c00abf4071 Add custom osc 2022-09-24 12:25:22 +02:00
232e3e0572 Add keepass config 2022-09-24 12:21:46 +02:00
8fd1225ea5 Use unicode symbols for coc diagnostics 2022-09-24 11:30:02 +02:00
859fb38a2c Update eslint prettier config 2022-09-24 11:29:07 +02:00
de0c57915f Set up languageservers 2022-09-24 11:28:19 +02:00
c72af5b50d Update pandoc snippets 2022-09-24 11:26:42 +02:00
811eb39614 Update resticexclude 2022-09-24 11:25:53 +02:00
81ad1080fc Remove color from date 2022-09-24 11:16:11 +02:00
f3a4044e55 Update xinitrc 2022-09-24 11:15:56 +02:00
9a9d84e2a8 Adjust colorscheme 2022-09-24 11:15:33 +02:00
60ad54caa5 Reduce number of workspaces 2022-09-24 11:15:13 +02:00
8ed97fd59e Update xmobar configuration 2022-09-24 01:07:16 +02:00
03cc877c53 Update xmonad configuration 2022-09-24 01:07:06 +02:00
fc47ea32b5 Update xinitrc 2022-09-23 00:47:20 +02:00
d18d0625db Add xmonad configuration 2022-09-23 00:46:34 +02:00
beff3e9ee8 Update fzf book script 2022-09-22 20:46:42 +02:00
d8aa33ca29 Refactor fzf fontnames script 2022-09-22 20:42:26 +02:00
c428e6cf68 Update fzf book script 2022-09-22 20:42:04 +02:00
be2124dfe1 Remove 2022-09-22 14:06:53 +02:00
5c17031ec1 Update README 2022-09-22 14:05:59 +02:00
b9cd2605af Add 'fzf' fontnames script 2022-09-22 13:53:21 +02:00
6a807918b0 Move atom config 2022-08-27 11:06:51 +02:00
1c966ce160 Add firefox config setup script 2022-08-27 10:41:45 +02:00
ff9c0be8ea Add firefox config 2022-08-27 10:27:27 +02:00
d9ba1a26f3 Remove old R5RS REPL support 2022-08-21 11:07:52 +02:00
e3059afd7b Add pandoc configuration 2022-08-21 10:57:03 +02:00
bbfbd8c36b Add R5RS REPL mappings 2022-08-21 10:56:08 +02:00
b42ea1762d Ignore cloze starts 2022-08-20 10:47:35 +02:00
f7b7540177 Allow multidigit numbers 2022-08-20 10:41:20 +02:00
1d76b192d3 Extend sandwich for cloze notes 2022-08-20 10:40:06 +02:00
1c57f4475f Render whitespace 2022-08-18 13:47:32 +02:00
cdef13f57b Allow extra characters 2022-08-16 15:23:59 +02:00
855be09711 Add cloze helpers 2022-08-16 15:23:18 +02:00
3083cdfa8b Extend pandoc-syntax 2022-08-16 10:48:45 +02:00
41dff5e7c0 Add lua filter for 'tikz' diagrams 2022-06-12 00:28:01 +02:00
cad54ec5ea Update pomodoro script (repeats) 2022-05-20 00:37:29 +02:00
5d05672b2e Update ncspot config 2022-05-16 20:58:52 +02:00
1a4a26a0bb Update 'resticexclude' 2022-05-16 11:50:05 +02:00
937a1e3030 Update statusbar scripts 2022-05-16 11:39:33 +02:00
cd18718752 Increase editor font size 2022-05-16 11:39:14 +02:00
4f19c74cd7 Update dwm shortcuts 2022-05-16 11:26:13 +02:00
ab913e6ba5 Add backup script 2022-05-16 11:22:12 +02:00
3c38cc64ac Add 'rclone.conf' example 2022-05-16 11:21:34 +02:00
81bd917039 Update 'gitconfig' 2022-05-16 00:26:56 +02:00
d1f3984178 Update pandoc filters 2022-05-15 14:35:22 +02:00
bf38fd536e Wait for 'xsetwacom' to find tablet 2022-05-14 15:45:42 +02:00
6cd0bedf18 Add atom package list 2022-05-13 12:06:00 +02:00
a322227cb9 Use instead of ./ (GNU linker) 2022-05-12 09:32:07 +02:00
a36755a35f Rearrange 2022-05-12 09:08:10 +02:00
82cce2cd8c Move 'Block' struct to header file 2022-05-12 09:07:35 +02:00
d3d340249a Add 'pipewire-pulse' config 2022-05-11 16:00:01 +02:00
ac1db5e2d0 Rename pipeable notify-send 2022-05-11 14:24:20 +02:00
397876ce86 Remove redundant brave wrapper 2022-05-11 14:19:29 +02:00
0c6d6ca119 Remove redundant script (because PipeWire) 2022-05-11 14:18:24 +02:00
8a4c078f9a Add 'fzf' bluetooth wrapper script 2022-05-11 14:01:06 +02:00
8b36cd35da Rename 'fzf' wrapper scripts 2022-05-11 14:00:08 +02:00
4b3f782573 Add 'fzf' wrapper scripts 2022-05-11 13:55:36 +02:00
d7f5271841 Automate KeepassXC database backup 2022-05-11 13:45:34 +02:00
39e00da3ce Update statusbar 2022-05-11 13:26:31 +02:00
a397d4bab8 Add description 2022-05-11 12:34:22 +02:00
f6f3fdbb3f Enforce some Anki discipline 2022-05-11 12:31:24 +02:00
367d7ed0fe Disable finger touch by default 2022-05-11 12:27:48 +02:00
f094622c0f Colorize battery statusbar script 2022-05-11 12:27:21 +02:00
c695712d12 Drop localhost 2022-05-11 12:25:43 +02:00
962548e0aa Add description 2022-05-11 12:25:20 +02:00
32d1a064f3 Add pandoc snippets 2022-05-11 12:08:01 +02:00
d09b6c8a6f Add 'LaTeX' snippets 2022-05-11 12:04:03 +02:00
5a20738a79 Add 'GLSL' snippets 2022-05-11 12:02:42 +02:00
a623a80fcf Update README 2022-05-11 11:59:14 +02:00
53fadef706 Add vortex core layout 2022-05-11 11:57:04 +02:00
c2aefd493d Add 'geoclue' systemd user service 2022-05-11 11:31:20 +02:00
48fa268d7c Add 'ssh-agent' systemd user service 2022-05-11 11:23:10 +02:00
b93d741d33 Add 'wacom' systemd user service 2022-05-11 11:22:59 +02:00
56eb4ee1ea Add tmux systemd user service 2022-05-11 11:22:43 +02:00
70ae7c8b6b Run xbindkeys on startup 2022-05-11 01:19:26 +02:00
ec06cbcb0f Add Jupyter directory environment variable 2022-05-11 01:17:33 +02:00
598bda36aa Update 'fzf' configuration 2022-05-11 01:16:28 +02:00
ea894360bd Update comments 2022-05-11 01:15:26 +02:00
6475c3de7b Add R5RS REPL support 2022-05-11 01:13:54 +02:00
eac7ecd311 Add 'coc-clangd' extension 2022-05-11 01:03:16 +02:00
5855e84b8b Add 'JSONC' support 2022-05-11 01:02:08 +02:00
6004cbebf1 Remove slimv plugin 2022-05-11 00:57:52 +02:00
fe47ad05f4 Add 'Man' command 2022-05-11 00:56:39 +02:00
ab3d5d780a Update vim functions 2022-05-11 00:56:13 +02:00
2d46526e8a Remove slimv configuration 2022-05-11 00:50:43 +02:00
845136d9ac Update pandoc Makefile 2022-05-11 00:45:53 +02:00
9fc0ca9909 Map wacom key for screenshots 2022-05-11 00:44:26 +02:00
a5f76083af Update bash aliases 2022-05-11 00:43:33 +02:00
0b56308234 Limit spotify cache 2022-05-11 00:23:22 +02:00
4eacd9a89e Add pomodoro python script 2022-05-04 15:41:07 +02:00
53612c97a7 Add statusbar colors 2022-04-30 18:57:28 +02:00
f7bf494bd7 Add script to convert JSON to YAML 2022-02-06 16:22:14 +01:00
3b17057676 Make redshift gene 2022-02-03 17:50:51 +01:00
5aa694ac44 Set fixed cursor size 2022-02-03 17:50:11 +01:00
403ecdef54 Remove custom gtk styling 2022-01-27 11:12:53 +01:00
0be6965447 Drop mpv's screenshot keybindings 2022-01-27 11:10:31 +01:00
3557dfe1ee Remove color support setting 2022-01-27 11:08:26 +01:00
74497a3374 Add wacom mappings 2022-01-27 11:08:01 +01:00
9fa5f06e01 Add fzf completion trigger 2022-01-27 11:06:32 +01:00
e7f593d093 Add wiki alias 2022-01-27 11:05:36 +01:00
284f873ecc Update 'set-wacom-draw-area' script 2022-01-27 11:04:52 +01:00
b98a4471b7 Add 'gh' config 2022-01-26 11:59:34 +01:00
d94b1ad4c6 Rename bash alias file 2022-01-18 13:17:26 +01:00
5701c88033 Move X11 config 2022-01-07 03:14:30 +01:00
607ded1064 Move X11 config 2022-01-07 03:14:05 +01:00
7ce53e468a Move tmux config 2022-01-07 02:51:02 +01:00
3be6edbdb1 Add tmux 'workspace' setup script 2021-12-31 16:19:17 +01:00
76d643a577 Add README.md 2021-12-31 16:17:58 +01:00
939cc7695e Update dmenu scripts 2021-12-31 16:07:38 +01:00
9af6394a43 Add dmenu bluetooth menu 2021-12-31 16:04:23 +01:00
0abf34ee0f Open devdocs offline 2021-12-31 16:03:46 +01:00
b24348455b List connected bluetooth audio devices 2021-12-31 16:02:58 +01:00
baa66b7256 Add battery level script 2021-12-31 16:01:55 +01:00
9e3a1e5d36 Add webcam script 2021-12-31 16:01:19 +01:00
8198deef0b Rename wiki helper 2021-12-31 15:59:34 +01:00
3f7111aa97 Add jack bluetooth audio script 2021-12-31 15:56:43 +01:00
532c193452 Add alarm script (wip) 2021-12-31 15:55:37 +01:00
7738f9d1b8 Add a setup (wip) 2021-12-31 15:55:07 +01:00
f0b86e8a6f Update dunst config 2021-12-31 15:49:52 +01:00
180f994d6a Add readme 2021-12-31 15:49:18 +01:00
fe2dc6e48b Update atom config 2021-12-31 15:47:04 +01:00
9a097900c7 Update alacritty config 2021-12-31 15:43:45 +01:00
4b2ae132a0 Update coc config 2021-12-31 15:43:27 +01:00
6d81cc0193 Remove brave flags file 2021-12-31 15:42:26 +01:00
794b766c24 Replace 'brave-launcher' script 2021-12-31 15:41:19 +01:00
d81fc79294 Quote variable 2021-12-31 12:48:10 +01:00
538920439d Update zathura config 2021-12-31 12:47:19 +01:00
7d15ec9b59 Place all images in 'img' folder 2021-12-31 12:45:29 +01:00
dd049c8a26 Update inputrc 2021-12-31 12:45:04 +01:00
c06efc24cc Minimise bash history 2021-12-31 12:44:28 +01:00
938bcf43fb Update bash aliases 2021-12-31 12:43:40 +01:00
4c8bce8182 Update .npmrc 2021-12-31 12:38:19 +01:00
a54b6dc231 Remove local '.gitignore's 2021-12-21 00:47:34 +01:00
590207ceba Update '.gitignore' 2021-12-21 00:45:53 +01:00
4031e66f40 Add general script for creating markdown index files 2021-12-05 12:59:22 +01:00
0d697c7b01 Fix title linebreak 2021-12-04 17:48:36 +01:00
b995fa5de6 Add wiki script 2021-12-04 17:44:36 +01:00
c3c9cfd1f5 Update tmux config 2021-11-28 17:53:17 +01:00
dad7d8fbd5 Add pandoc '<br/>' filter 2021-11-28 17:51:29 +01:00
a096b52b3e Update dwmblocks 2021-11-28 17:47:17 +01:00
b2023f8f88 Update vim color scheme 2021-11-28 17:46:18 +01:00
ad92caaa04 Update vimwiki directory 2021-11-28 17:46:02 +01:00
8c7bcb0dd1 Remove unused scripts 2021-11-28 17:44:25 +01:00
5f800e4ca1 Remove newsboat urls 2021-11-28 17:42:46 +01:00
066b056d57 Update wacom draw area script 2021-11-28 17:42:21 +01:00
71b7b7126d Use compositor 2021-11-28 17:40:18 +01:00
968981be58 Automatically start redshift 2021-11-28 17:40:04 +01:00
91b2149fad Automatically start X 2021-11-28 17:39:26 +01:00
8d52dc879d Move taskrc to config directory 2021-11-28 17:37:41 +01:00
7f0f77dea7 Add script to remove './' in markdown links 2021-09-28 19:38:29 +02:00
c41de6b145 Add script to count json objects 2021-09-28 16:22:21 +02:00
571feb5ef2 Update gitconfig 2021-09-17 14:27:51 +02:00
9e62e9411a Add 'restore --staged' alias 2021-09-17 14:21:03 +02:00
c305bc6bb7 Remove unused aliases 2021-09-17 14:20:10 +02:00
25f09af643 Adjust git colors 2021-09-17 14:13:37 +02:00
a700b811f1 Rename command for listing aliases 2021-09-17 13:58:42 +02:00
8483b2219e Add 'log' config 2021-09-17 13:54:43 +02:00
03016fe2a1 Add alacritty config 2021-08-31 14:34:35 +02:00
cf2555ebe3 Update tag names 2021-08-31 14:33:56 +02:00
aaf55257cf Update ncspot color scheme 2021-08-31 14:33:02 +02:00
f670b550dc Update .xinitrc 2021-08-31 14:30:17 +02:00
16b389b443 Add 'XDG_SESSION_TYPE' 2021-08-31 14:28:30 +02:00
145aebbf63 Update nvm loading 2021-08-31 14:28:09 +02:00
2dd0c9b9ac Update 'ls' aliases 2021-08-31 14:25:24 +02:00
2f564e1d2f Add fzf colors 2021-08-31 14:23:54 +02:00
0245754eb7 Update coc settings 2021-08-31 14:23:13 +02:00
897e15aa0e Update vim markdown & latex 2021-08-31 14:22:15 +02:00
918367fa7e Update fzf plug setup 2021-08-31 14:19:18 +02:00
ab8d34bd13 Open html version of current file in browser 2021-08-31 14:17:26 +02:00
9c69094ea6 Add function to toggle conceal 2021-08-31 14:15:23 +02:00
97a234ca89 Enable autoread 2021-08-31 14:14:50 +02:00
9c40083aba Adjust conceal settings 2021-08-31 14:14:25 +02:00
c5da8ae8ae Remove tmux aliases 2021-08-27 17:20:26 +02:00
589c8215b9 Adjust split separator colors 2021-08-23 21:34:43 +02:00
65ac565383 Render ellipsis for nesting > 2 2021-08-23 17:13:38 +02:00
be52e036b1 Update wiki styling 2021-08-23 17:10:04 +02:00
dbc53d251b Update wiki Makefile 2021-08-23 17:08:52 +02:00
9b2ab55a90 Update tmux config 2021-08-23 17:06:33 +02:00
Hektor Misplon
0fd39e15e1 Add 'lua filters' license 2021-05-24 11:33:05 +02:00
Hektor Misplon
1d8aa79c46 Remove lilypond html file 2021-05-23 15:24:39 +02:00
Hektor Misplon
c50404295b Add pandoc style file 2021-05-23 15:16:10 +02:00
Hektor Misplon
2c810898de Add wiki pandoc files (Makefile+filters) 2021-05-23 15:12:59 +02:00
Hektor Misplon
1fc58cd80d Add taskwarrior config 2021-05-19 11:55:44 +02:00
Hektor Misplon
f673550dc5 Add keyboard & headphone control bindings for ncspot 2021-05-17 14:10:31 +02:00
Hektor Misplon
7759a28b45 Customize color scheme 2021-05-05 22:05:40 +02:00
Hektor Misplon
b04849aae8 Update svelte snippets 2021-05-05 15:20:10 +02:00
Hektor Misplon
e19b459be5 Replace color theme with 'yin-yang' colorscheme 2021-05-05 15:18:48 +02:00
Hektor Misplon
a894866652 Update zathura config 2021-05-05 15:17:06 +02:00
Hektor Misplon
d0f394c50b Remove picom 2021-04-25 00:26:33 +02:00
Hektor Misplon
99fd21fff1 Pipe to xorg clipboard 2021-04-25 00:24:50 +02:00
Hektor Misplon
bce6e388d4 Fix typo: bangshee->shebang 2021-04-25 00:18:45 +02:00
bce88a7980 Add 'scheme' conceals 2021-04-11 19:16:51 +02:00
d9eb11f23b Add 'scheme' snippets 2021-04-11 19:14:30 +02:00
62f56a98d0 Add 'shebang' snippet 2021-04-11 19:13:52 +02:00
aadd86660c Move 'svelte'-specific snippet 2021-04-11 19:13:21 +02:00
5f2c656657 Add 'svelte' snippets 2021-04-11 19:10:12 +02:00
005f0da383 Add 'css' snippets 2021-04-11 19:08:53 +02:00
3e827facb3 Add npm config 2021-04-04 21:24:45 +02:00
fb785009b4 Add JSON.stringify snippets 2021-03-28 10:40:58 +02:00
28653f22e0 Use simpler bash prompt 2021-03-28 10:39:14 +02:00
6b628200d2 Fix inline comments for keymaps 2021-03-28 10:37:23 +02:00
c27f346357 Remove unused settings 2021-03-10 18:06:32 +01:00
6736332508 Update general vim settings 2021-03-10 18:06:07 +01:00
c099c91440 Muck out my vim config 2021-03-10 17:48:56 +01:00
0b6fc51eaa Add autorandr 'docked with lid closed' preset 2021-03-03 17:57:21 +01:00
b6651eddbd Migrate st to version 8.4 2021-02-21 17:53:56 +01:00
46d49c2f77 Add ligature support 2021-02-21 17:52:46 +01:00
fec471f0ec Apply scrollback patch 2021-02-21 17:44:15 +01:00
d8304808c4 Use vim-ish keybindings for scrollback 2021-02-21 17:42:38 +01:00
3af410d0e6 Remove config.def.h 2021-02-21 17:29:10 +01:00
1f9bf86359 Upgrade st to 8.4 2021-02-21 17:22:18 +01:00
4c44b7feb2 Start xournalpp in floating mode 2021-02-21 15:28:55 +01:00
b3934c2e9c Replace wacom-flip script with autorandr hook scripts 2021-02-20 16:15:18 +01:00
8c45fc96ac Document wacom drawing area script 2021-02-20 16:11:47 +01:00
13db4622fd Add vertical wacom drawing area script 2021-02-20 16:05:13 +01:00
981a7384f2 Tweak dwm color 2021-02-20 15:58:28 +01:00
7bb857ca91 Use named tag workflow 2021-02-20 15:57:01 +01:00
c65e9f37f4 Add autorandr config 2021-02-20 15:55:13 +01:00
af190078d9 Remove slstatus 2021-02-20 15:53:53 +01:00
e199018f2d Remove redundant styling 2021-02-20 15:53:03 +01:00
c854734006 Simplify git logs 2021-02-20 15:52:08 +01:00
99ad250577 Adjust mouse sensitivity 2021-02-16 21:18:58 +01:00
78cb61b9c6 Update default applications 2021-02-16 21:18:37 +01:00
9c57876554 Adjust dunst config 2021-02-16 21:17:10 +01:00
b24516fdd3 Adjust navigation aliases 2021-02-16 21:15:23 +01:00
4ac176d66e Adjust zathura colors 2021-02-16 21:13:59 +01:00
b0059cce03 Adjust zathura to best fit 2021-02-16 21:12:44 +01:00
b7cecc06bf Adjust terminal zoom keybindings 2021-02-16 21:10:32 +01:00
a4f30d529a Use dwmblocks instead of slstatus 2021-02-16 21:08:44 +01:00
e8215d86b8 Add dwm blocks 2021-02-16 21:08:10 +01:00
fe72ac2ee0 Use 'main' as default branch 2021-02-16 21:01:30 +01:00
d51fe16d4c Update email address 2021-02-16 21:01:05 +01:00
86a8852ae8 Add blender theme 2021-02-16 20:59:00 +01:00
Hektor Misplon
5226bfd0ac Run dmenu-run-history from dwm 2021-02-08 17:51:56 +01:00
Hektor Misplon
da1fead66d Update default applications 2021-02-08 17:49:17 +01:00
Hektor Misplon
262c8db970 Add basic vim update script 2021-01-16 11:28:57 +01:00
Hektor Misplon
78a0e1526b Add tiny script to notify from stdin 2021-01-09 14:32:30 +01:00
Hektor Misplon
37dfdc25aa Add dmenu script for quick translating 2021-01-09 14:30:55 +01:00
Hektor Misplon
365b17ccf8 Show all ip addresses without argument 2021-01-09 14:28:36 +01:00
Hektor Misplon
36e404a8ff Make cmdline readable 2021-01-09 01:05:44 +01:00
Hektor Misplon
9c65f5f5c6 Conform dmenu border to dwm's 2021-01-08 22:32:50 +01:00
Hektor Misplon
fec5c22113 Make full width dmenu respect border width 2021-01-08 22:31:09 +01:00
Hektor Misplon
8dd3a15af1 Decrease dmenu 'size' 2021-01-08 22:28:32 +01:00
Hektor Misplon
9875e2b59c Set default dmenu prompt 2021-01-08 22:26:53 +01:00
Hektor Misplon
54a322f62c Use dmenu on bottom of screen 2021-01-08 22:23:32 +01:00
Hektor Misplon
2dc0e02abe Adjust coloring 2020-12-20 15:41:35 +01:00
Hektor Misplon
2014219019 Adjust coloring 2020-12-20 15:41:21 +01:00
Hektor Misplon
7211776886 Use hex shorthands 2020-12-20 15:41:10 +01:00
Hektor Misplon
41df9da498 Update wacom script 2020-12-20 15:40:38 +01:00
Hektor Misplon
c90abb39c7 Remove redundant css 2020-12-20 15:39:17 +01:00
Hektor Misplon
e520615fd9 Add brightness control keybindings 2020-12-20 15:38:10 +01:00
Hektor Misplon
23e20f83c8 Remove hardtime plugin 2020-12-20 15:37:36 +01:00
Hektor Misplon
07a66ef1d1 Use tmux style splits 2020-12-20 15:37:22 +01:00
Hektor Misplon
adb1ab9a7f Add script to flip wacom controls 2020-12-17 13:32:02 +01:00
Hektor Misplon
3abfa0ae8b Adjust ncspot colors 2020-12-12 14:18:34 +01:00
Hektor Misplon
1a76180b0a Remove 5 tags 2020-12-11 10:08:25 +01:00
Hektor Misplon
42bb3f1c7c Only show border for active window 2020-12-11 10:07:58 +01:00
Hektor Misplon
c8c0c96093 Adjust default gap 2020-12-11 10:07:02 +01:00
Hektor Misplon
876af70074 Specify iosevka font 2020-12-11 10:06:35 +01:00
Hektor Misplon
48a39a28e4 Add keybindings 2020-12-11 10:05:49 +01:00
Hektor Misplon
3ec27485f4 Clean bashrc 2020-12-10 19:40:55 +01:00
Hektor Misplon
5ca2ac6da1 Clean bashrc 2020-12-10 19:38:24 +01:00
Hektor Misplon
7496879d5a Remove redundant file 2020-12-10 19:30:30 +01:00
Hektor Misplon
ccd38f45ad Update commenter plugin config 2020-12-10 19:29:31 +01:00
Hektor Misplon
609d246619 Add basic sct 'night time' wrapper 2020-12-10 18:37:27 +01:00
Hektor Misplon
c02d16fd69 Ignore object files 2020-12-10 15:21:02 +01:00
Hektor Misplon
9b4d0093e0 Untrack object files & binarie 2020-12-10 15:19:51 +01:00
Hektor Misplon
085915699a Remove redundant statusbar items 2020-12-10 15:14:36 +01:00
Hektor Misplon
f2d7684b12 Use 1 second interval for statusbar 2020-12-10 15:14:06 +01:00
Hektor Misplon
d6cab5ae8b Add default applications 2020-12-10 15:13:05 +01:00
Hektor Misplon
dcee7be534 Fix indentation 2020-12-10 15:09:09 +01:00
Hektor Misplon
b7f6b61f37 Remove redundant file 2020-12-10 15:08:39 +01:00
Hektor Misplon
8868d22c9e Specify iosevka font 2020-12-10 15:06:53 +01:00
Hektor Misplon
1dca30c390 Show tabs & trailing whitespaces 2020-12-10 15:04:57 +01:00
Hektor Misplon
58c81b9c9f Replace nerdcommenter with vim-commentary 2020-12-10 15:04:23 +01:00
Hektor Misplon
548254f9df Use <nowait> for 'jj' mapped to escape 2020-12-10 15:03:54 +01:00
Hektor Misplon
09b165822d Remove trailing whitespace 2020-12-10 15:03:05 +01:00
Hektor Misplon
9f573675af Adjust split bindings 2020-12-10 15:01:49 +01:00
Hektor Misplon
5c02d0ca23 Use smaller timeout length 2020-12-10 14:59:15 +01:00
Hektor Misplon
0df41f19d7 Remove redundant vim settings 2020-12-10 14:57:19 +01:00
Hektor Misplon
f552832ba3 Add function to get amount of tasks 2020-12-10 14:41:42 +01:00
Hektor Misplon
2d0542e58d Add startup applications 2020-12-10 14:34:54 +01:00
Hektor Misplon
6b8be6e09d Use oneliner conditionals 2020-12-10 14:32:33 +01:00
Hektor Misplon
771120178c Remove sclang config 2020-12-10 14:30:05 +01:00
Hektor Misplon
dd0a14213e Remove redundant script 2020-12-10 14:27:34 +01:00
Hektor Misplon
354e68db53 Use verbose flag for 'mv' and 'cp' 2020-12-10 14:26:33 +01:00
Hektor Misplon
88ff559a63 Add mpv controls 2020-12-10 14:24:53 +01:00
Hektor Misplon
2623a3dff9 Add readline config 2020-12-09 23:42:22 +01:00
Hektor Misplon
3ced7105c2 Add aliases 2020-12-03 12:00:52 +01:00
Hektor Misplon
ee75702777 Add gtk styling 2020-12-01 18:07:02 +01:00
Hektor Misplon
158d7d0daf Hide top and bottom info 2020-11-22 00:39:47 +01:00
Hektor Misplon
115e8bf70d Adjust SuperDirt startup 2020-11-22 00:38:52 +01:00
Hektor Misplon
626525cae8 Add keyboard layout 2020-11-21 17:38:20 +01:00
Hektor Misplon
56f5ba1695 Add newsboat config 2020-11-21 02:13:20 +01:00
Hektor Misplon
fd2dcca4e7 Track slstatus source files 2020-11-15 19:15:09 +01:00
Hektor Misplon
37fb128ea3 Update solaar config 2020-11-13 23:25:28 +01:00
Hektor Misplon
4265519649 Adjust zathura selection colo 2020-11-13 23:25:00 +01:00
Hektor Misplon
f0ce7dd861 Fix shellcheck warnings 2020-11-13 23:22:53 +01:00
Hektor Misplon
d3c8073d37 Use high quality profile for mpv 2020-11-11 15:58:59 +01:00
Hektor Misplon
b3baf4037f Update autostart 2020-11-10 17:14:52 +01:00
Hektor Misplon
20134c0e26 Adjust dunst location & style 2020-11-10 17:12:51 +01:00
Hektor Misplon
cc584aceed Add R5RS tmux script 2020-11-10 17:12:04 +01:00
Hektor Misplon
1368686356 Add r5rs tmux (vim with repl) script 2020-11-02 18:10:08 +01:00
Hektor Misplon
2bf4759028 Rename r5rs to r5rs-repl 2020-11-02 18:09:18 +01:00
Hektor Misplon
8ad90d0d1b Set slime tmux defaults 2020-11-02 18:06:59 +01:00
Hektor Misplon
23055eac38 Update gitconfig 2020-11-02 11:56:00 +01:00
Hektor Misplon
4c886042d6 Add default options for fzf 2020-11-02 11:55:21 +01:00
Hektor Misplon
46d02a337d Add alias for R5RS repl 2020-11-02 11:54:51 +01:00
Hektor Misplon
8b963cbb2b Setup vimtex with zathura 2020-11-02 11:54:10 +01:00
Hektor Misplon
7dd3103d44 Set up vim-slime for tmux 2020-11-02 11:53:18 +01:00
Hektor Misplon
3257dc6d7e Update vim config 2020-11-02 11:50:14 +01:00
Hektor Misplon
c3819c4d94 Add cleanup script 2020-11-01 15:58:45 +01:00
Hektor Misplon
b0614f656b Print pdf title from metadata 2020-11-01 15:57:59 +01:00
Hektor Misplon
95b9a858cd Use consistent shebangs 2020-11-01 15:57:10 +01:00
Hektor Misplon
cf8ae710dc Replace screen layout scripts with menu 2020-11-01 15:53:41 +01:00
Hektor Misplon
51953d6e4e Add gtk+ settings 2020-11-01 15:42:01 +01:00
Hektor Misplon
b871127b85 Add default application config 2020-11-01 15:35:15 +01:00
Hektor Misplon
70d5e586c6 Remove binaries 2020-11-01 15:21:15 +01:00
Hektor Misplon
71372a078a Adjust zathura config 2020-11-01 15:18:45 +01:00
Hektor Misplon
17f3f0b2b4 Adjust zathura color scheme 2020-11-01 15:18:15 +01:00
Hektor Misplon
bf6ac26140 Update solaar config 2020-11-01 15:16:55 +01:00
Hektor Misplon
a3ddb0e118 Remove sselp 2020-11-01 15:15:51 +01:00
Hektor Misplon
07cf7cd7a3 Adjust color scheme 2020-11-01 15:14:40 +01:00
Hektor Misplon
ed547bf316 Adjust dunst colors 2020-11-01 15:12:42 +01:00
Hektor Misplon
3e2a4a73d6 Use fzf keybindings 2020-11-01 15:12:15 +01:00
Hektor Misplon
bd4574a5e4 Update bash config 2020-10-30 16:49:22 +01:00
Hektor Misplon
dc771a8056 Add aliases 2020-10-18 16:12:08 +02:00
Hektor Misplon
fdbf788a6a Update
whoamip
script
2020-10-18 16:09:16 +02:00
Hektor Misplon
803e55fccf Update color scheme 2020-10-06 18:02:03 +02:00
Hektor Misplon
b0a94ef24c Cache git credentials 2020-09-20 11:44:41 +02:00
Hektor Misplon
b68b201c8e Organize vim config 2020-09-19 22:07:29 +02:00
Hektor Misplon
3666a182c5 Get vim-svelte plugin from 'main' branch 2020-09-19 20:15:01 +02:00
Hektor Misplon
753cd450e2 Add vim-sandwich plugin 2020-09-19 20:14:11 +02:00
Hektor Misplon
a0e85d34ac Update zathura config 2020-09-19 12:13:30 +02:00
Hektor Misplon
dec0169409 Set atom editor font 2020-09-17 10:31:01 +02:00
Hektor Misplon
96852985f8 Use white cursor 2020-09-11 21:03:29 +02:00
Hektor Misplon
f1aac10aa6 Update atom config 2020-09-11 21:03:16 +02:00
Hektor Misplon
3667cc9562 Resize splits 2020-09-11 21:02:21 +02:00
Hektor Misplon
8c726fbfa4 Use printf instead of echo 2020-09-11 20:20:04 +02:00
Hektor Misplon
7c67c04c2a Use strong quotes 2020-09-11 20:16:57 +02:00
Hektor Misplon
7e1e873832 Fix naked dollar sign 2020-09-11 20:16:35 +02:00
Hektor Misplon
6e8e5acb02 Show charging status dynamically 2020-09-06 18:15:51 +02:00
Hektor Misplon
3531d6e575 Always open keypassxc on tag 9 2020-09-06 18:14:56 +02:00
Hektor Misplon
4640a9d444 Add brave flags config 2020-09-06 00:19:21 +02:00
Hektor Misplon
3e4314ce1c Add scripts 2020-09-06 00:18:31 +02:00
Hektor Misplon
eeab155682 Clean 2020-09-06 00:10:10 +02:00
Hektor Misplon
d57e19c348 Add snippets 2020-09-06 00:09:25 +02:00
Hektor Misplon
2d50ff36cc Add snippets directory 2020-09-06 00:09:16 +02:00
Hektor Misplon
90e78d645a Add coc-snippets 2020-09-05 23:19:23 +02:00
Hektor Misplon
8dfe80b3b8 Show number for cursor line 2020-09-05 15:08:34 +02:00
Hektor Misplon
f3ac8466f8 Merge branch 'master' of https://github.com/hektormisplon/dotfiles into master 2020-09-05 15:06:56 +02:00
Hektor Misplon
12e11cc7c7 Adjust zoom keybindings 2020-09-05 15:05:21 +02:00
Hektor Misplon
01e2781ddd Adjust zoom keybindings 2020-09-05 14:59:09 +02:00
Hektor Misplon
d0b402c1d3 Add colors 2020-09-05 14:52:28 +02:00
Hektor Misplon
62874470bc Add atom hydra config 2020-08-28 10:03:45 +02:00
Hektor Misplon
2ed69a5fb8 Colorize ip output 2020-08-18 18:22:50 +02:00
Hektor Misplon
d48d27d092 Increase history size 2020-08-18 18:20:58 +02:00
Hektor Misplon
7abbbd8a08 Update vimrc 2020-08-06 16:36:57 +02:00
Hektor Misplon
0f4a7dd110 Adjust keybinding 2020-08-01 20:12:16 +02:00
Hektor Misplon
18782c08cd Adjust keybinding 2020-08-01 20:11:54 +02:00
Hektor Misplon
f29024f0b0 Adjust colors 2020-07-28 20:32:11 +02:00
Hektor Misplon
dc7b0c5333 Adjust colors 2020-07-28 20:30:39 +02:00
Hektor Misplon
c887514188 Add subcommands 2020-07-03 17:55:45 +02:00
Hektor Misplon
3d42f8eefb Add reverse tethering command 2020-07-03 16:47:12 +02:00
Hektor Misplon
83cef6a363 Add svelte coc support 2020-07-02 15:51:01 +02:00
Hektor Misplon
23993523b6 Add vscode config 2020-05-20 19:15:33 +00:00
Hektor Misplon
dede22b065 Add terminal keybinding 2020-05-20 19:14:07 +00:00
Hektor Misplon
585cc9fef4 Disable javascript suggestion actions 2020-05-20 19:13:46 +00:00
Hektor Misplon
6eface4997 Adjust dmenu colors 2020-05-20 19:13:08 +00:00
Hektor Misplon
d9ebec872e Autostart cadence 2020-05-13 22:38:59 +00:00
Hektor Misplon
02577e8fd0 Configure svelte 2020-05-13 17:10:30 +00:00
Hektor Misplon
f74b443eeb Adjust dwm colors 2020-05-13 17:09:15 +00:00
Hektor Misplon
95683a2bf1 Update vim config 2020-05-13 17:08:38 +00:00
Hektor Misplon
3390cd904c Add whoamip script to get ip 2020-05-13 17:07:44 +00:00
Hektor Misplon
44ac5914b3 Check bat alias from script 2020-05-13 17:06:19 +00:00
Hektor Misplon
15cd48b132 Lazyload nvm when used 2020-05-13 17:05:27 +00:00
Hektor Misplon
126ef6e2f7 Configure fuzzy finder 2020-05-08 17:54:20 +00:00
Hektor Misplon
c9b211d201 Adjust dunstrf 2020-05-08 17:00:52 +00:00
Hektor Misplon
35b58f92b3 Add dunstrc 2020-05-08 16:58:13 +00:00
Hektor Misplon
13f644145e Match zathura to theme 2020-05-08 16:21:12 +00:00
Hektor Misplon
b1e98ec3a8 Remove PATH environment variable 2020-05-08 16:11:30 +00:00
Hektor Misplon
044c5e5a75 Make scripts globally available 2020-05-08 16:08:53 +00:00
Hektor Misplon
58470cd1b1 Add keybindings 2020-05-08 15:16:18 +00:00
Hektor Misplon
858a755c85 Add tidalcycles tmux startup script 2020-05-08 15:15:22 +00:00
Hektor Misplon
a2fa52fd42 Start window numbers at 0 2020-05-08 14:17:15 +00:00
Hektor Misplon
373d4df3ef Adjust color scheme 2020-05-08 14:16:11 +00:00
Hektor Misplon
1b783d433b Update vim config 2020-05-08 14:11:55 +00:00
Hektor Misplon
89092e9df0 Update tmux conf 2020-05-08 00:22:49 +00:00
Hektor Misplon
ff415a32cf Add default editor 2020-05-08 00:20:56 +00:00
Hektor Misplon
31fa76e39c Modify newterm command to shift-<cr> 2020-05-07 22:13:16 +00:00
Hektor Misplon
4088f61e5f Remove extra backup configs 2020-05-07 22:11:08 +00:00
Hektor Misplon
f69cdb8eed Convert to subfolder 2020-05-07 22:07:40 +00:00
Hektor Misplon
966ee49ea9 Add dwm error logging 2020-05-07 21:28:19 +00:00
Hektor Misplon
d736c3d316 Increase font size 2020-05-07 21:26:43 +00:00
Hektor Misplon
a6ffc24f39 Add border 2020-05-07 21:21:44 +00:00
Hektor Misplon
0f07530564 Add center patch 2020-05-07 21:10:33 +00:00
Hektor Misplon
6705a978fb Add dmenu 2020-05-07 20:07:33 +00:00
Hektor Misplon
4a4c26b180 Add gitignore 2020-05-07 20:07:07 +00:00
Hektor Misplon
83df744bc4 Update dmenu 2020-05-07 19:59:51 +00:00
Hektor Misplon
f404bfd5c2 Adjust dmenu colors 2020-05-07 19:49:28 +00:00
Hektor Misplon
9f20a5953b Remove bloat 2020-05-07 19:30:24 +00:00
Hektor Misplon
37643eeb04 Update .gitignore 2020-05-07 19:29:15 +00:00
Hektor Misplon
8362cf8efe Update gitignore 2020-05-07 19:25:28 +00:00
Hektor Misplon
72ef54d6f7 Upgrade to st-8.3 2020-05-07 18:13:56 +00:00
Hektor Misplon
f87a7cb18d Add prompt icons 2020-05-07 18:12:19 +00:00
Hektor Misplon
db594586bc Patch ligatures 2020-05-07 15:51:18 +00:00
Hektor Misplon
ebd303aff1 Make vim & tmux more consistent 2020-05-07 14:11:54 +00:00
Hektor Misplon
45357844a9 Add tmux aliases 2020-05-07 14:08:53 +00:00
Hektor Misplon
a21735f358 Add tmux config 2020-05-07 12:31:57 +00:00
Hektor Misplon
81c0d6f65a Update vimrc 2020-05-07 12:18:36 +00:00
Hektor Misplon
03ade79c9e Add vim-style keybindings 2020-05-07 01:39:04 +00:00
Hektor Misplon
52f2703850 Add software configs 2020-05-07 00:58:55 +00:00
Hektor Misplon
e85d2b4aaf Add xinitrc 2020-05-07 00:53:16 +00:00
Hektor Misplon
83d1fc54ca Convert to subfolder 2020-05-07 00:50:57 +00:00
Hektor Misplon
91136e007a Update gitignore 2020-05-07 00:48:12 +00:00
Hektor Misplon
f413ad2150 Add dwm as subfolder 2020-05-07 00:43:33 +00:00
Hektor Misplon
19bc0fc3dc Add suckless config 2020-05-07 00:26:42 +00:00
Hektor Misplon
60e47ab71e Add coc settings 2020-05-07 00:23:37 +00:00
Hektor Misplon
f1b36ac00a Remove bloat 2020-05-07 00:22:35 +00:00
Hektor Misplon
daceb8bcb1 Update vim config 2020-05-07 00:11:41 +00:00
Hektor Misplon
3753fb5f62 Update bash config 2020-05-07 00:10:20 +00:00
Hektor Misplon
83832c6114 Add aliases 2020-05-07 00:09:35 +00:00
Hektor Misplon
908dab36c5 Update coc config 2020-05-07 00:06:53 +00:00
Hektor Misplon
ec7c079ef8 Update gitignore 2020-05-07 00:05:47 +00:00
Hektor Misplon
1b13b9820f Apply pertag patch 2020-04-15 13:11:41 +00:00
Hektor Misplon
9288ac308e Update vim config 2020-04-15 13:10:46 +00:00
Hektor Misplon
9b5a7c6c2c Add aliases 2020-04-15 11:29:03 +00:00
Hektor Misplon
2c3dfef772 Update vim plugins 2020-04-15 11:27:40 +00:00
Hektor Misplon
ad67258053 Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-04-09 15:08:51 +00:00
Hektor Misplon
fa7b5bd155 Add battery details script 2020-04-09 15:08:28 +00:00
Hektor Misplon
20dc2383cc Modify prompt 2020-04-08 19:22:00 +00:00
Hektor Misplon
0170b6261f Make ls render vertically by default 2020-04-08 19:21:32 +00:00
Hektor Misplon
a9d7a8f7ca Update suckless config 2020-04-08 19:20:42 +00:00
Hektor Misplon
186119403b Add dwm patches 2020-04-08 17:53:41 +00:00
Hektor Misplon
39a20b1cae Update bash config 2020-04-08 17:52:42 +00:00
Hektor Misplon
07ec86ff7a Update README.md 2020-04-08 17:44:17 +00:00
Hektor Misplon
fd8b8d105c Add screenshot 2020-04-08 17:43:01 +00:00
Hektor Misplon
6af633ae51 Update coc extensions 2020-04-07 20:49:50 +00:00
Hektor Misplon
8f774e2f61 Add coc config 2020-04-07 20:42:16 +00:00
Hektor Misplon
0204384823 Update gitignore 2020-04-07 20:25:12 +00:00
Hektor Misplon
27c12a63a1 Add bash config w/ aliases 2020-04-07 20:24:30 +00:00
Hektor Misplon
d4caae1205 Adjust typematic delay & rate 2020-03-19 13:30:26 +00:00
Hektor Misplon
24d4710bd4 Update .vimrc 2020-03-19 13:28:07 +00:00
Hektor Misplon
882b177df6 Add coc-emmet 2020-02-19 09:26:20 +00:00
Hektor Misplon
9a648c73e8 Add aliases & color settings 2020-02-18 19:16:16 +00:00
Hektor Misplon
0b67aa4038 Add temp files 2020-02-18 19:15:16 +00:00
Hektor Misplon
3458cbc622 Add global gitconfig & gitignore 2020-02-18 18:47:43 +00:00
Hektor Misplon
fb2390fbf1 Fix permissions 2020-02-18 18:12:58 +00:00
Hektor Misplon
0c720d543a Add shebang & commenting 2020-02-18 18:08:47 +00:00
Hektor Misplon
f3c143cc59 Add centered master layout 2020-02-18 15:57:59 +00:00
Hektor Misplon
9207585f42 Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-02-18 14:16:34 +00:00
Hektor Misplon
9ab9a58d2a Autstart X at login 2020-02-18 14:16:20 +00:00
Hektor Misplon
97e443982b Add monitor helper 2020-02-17 22:08:02 +00:00
Hektor Misplon
a4563511ca Update README.md 2020-02-17 21:12:00 +00:00
Hektor Misplon
aea9b9a161 Update README.md 2020-02-17 21:11:46 +00:00
Hektor Misplon
efd09d62ee Add xorg dualhead config 2020-02-17 20:33:28 +00:00
Hektor Misplon
d1109e3b65 Add X startup config 2020-02-17 20:25:20 +00:00
Hektor Misplon
7ef3cb34be Update coc config 2020-02-17 16:51:53 +00:00
Hektor Misplon
e847b504a2 Update vim config 2020-02-17 16:51:37 +00:00
Hektor Misplon
a03648de12 Config prettier eslint integration 2020-02-17 16:29:40 +00:00
Hektor Misplon
1535784802 Add vim-js plugin 2020-02-17 16:06:16 +00:00
Hektor Misplon
5a40ecfc7f Update vim config 2020-02-17 16:05:51 +00:00
Hektor Misplon
d5f9d30094 Configure eslint & prettier 2020-02-17 16:04:51 +00:00
Hektor Misplon
b9bec16929 Remove vim-prettier plugin 2020-02-17 16:03:40 +00:00
Hektor Misplon
596bb7e04c Update coc.nvim 2020-02-17 16:02:34 +00:00
Hektor Misplon
e24685d897 Configure prettier 2020-02-16 12:37:24 +00:00
Hektor Misplon
d0eb24a264 Add prettier 2020-02-16 12:22:47 +00:00
Hektor Misplon
e26e92f1fb Add shortcuts 2020-02-16 12:15:17 +00:00
Hektor Misplon
860bb2f6b9 Update vim settings 2020-02-16 11:41:12 +00:00
Hektor Misplon
93b527074a Merge branch 'master' of github.com:hektormisplon/dotfiles 2020-02-16 09:27:56 +00:00
Hektor Misplon
67c8a61f38 Convert submodules to directories 2020-02-16 09:27:34 +00:00
Hektor Misplon
a43dfc80d8 Update README.md 2020-02-16 08:19:32 +00:00
Hektor Misplon
3bb95e6afb Create README.md 2020-02-16 08:16:47 +00:00
142 changed files with 2877 additions and 1203 deletions

2
.gitignore vendored
View File

@@ -8,3 +8,5 @@ result
result-* result-*
nixos-efi-vars.fd nixos-efi-vars.fd
/.pre-commit-config.yaml

View File

@@ -1,15 +1,27 @@
# NixOS flake # NixOS flake
## Set up virtual machine ([`disko`](https://github.com/nix-community/disko/blob/master/docs/interactive-vm.md)) ## hosts
1. Build the virtual machine ### NixOS
```
nixos-rebuild switch --flake .#<hostname>
```
### home manager
```
home-manager switch --flake .#work
```
### virtual machines
``` ```
nix build -L '.#nixosConfigurations.vm.config.system.build.vmWithDisko' nix build -L '.#nixosConfigurations.vm.config.system.build.vmWithDisko'
```
2. Run the virtual machine
```
./result/bin/disko-vm ./result/bin/disko-vm
``` ```
## docs
* [deploy using colmena](./deploy/README.md)
* [SD installer images](./images/README.md)

9
deploy/README.md Normal file
View File

@@ -0,0 +1,9 @@
# `colmena` deployments
* tags: `local`, `cloud`
* deployments can be made from `astyanax` and `andromache` hosts
## References
- [docs: `colmena`](https://colmena.cli.rs/)
- [repo: `colmena`](https://github.com/zhaofengli/colmena)

32
deploy/colmena.nix Normal file
View File

@@ -0,0 +1,32 @@
{
self,
inputs,
}:
let
mkNode = hostname: tags: {
imports = [ ../hosts/${hostname} ];
deployment = {
targetHost = self.nixosConfigurations.${hostname}.config.ssh.publicHostname;
targetUser = self.nixosConfigurations.${hostname}.config.ssh.username;
buildOnTarget = builtins.any (t: t != "local") tags;
inherit tags;
};
};
in
inputs.colmena.lib.makeHive {
meta = {
nixpkgs = import inputs.nixpkgs {
localSystem = "x86_64-linux";
};
nodeNixpkgs = builtins.mapAttrs (_: v: v.pkgs) self.nixosConfigurations;
nodeSpecialArgs = builtins.mapAttrs (_: v: v._module.specialArgs or { }) self.nixosConfigurations;
};
astyanax = mkNode "astyanax" [ "local" ];
andromache = mkNode "andromache" [ "local" ];
vm = mkNode "vm" [ "local" ];
hecuba = mkNode "hecuba" [ "cloud" ];
eetion = mkNode "eetion" [ "arm" ];
}

View File

@@ -103,13 +103,6 @@ if [[ -z "${SSH_CONNECTION}" ]]; then
fi fi
# }}} # }}}
# pnpm
export PNPM_HOME="/home/h/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
# Codi # Codi
# Usage: codi [filetype] [filename] # Usage: codi [filetype] [filename]

View File

@@ -4,16 +4,3 @@
# Set NeoVim as default editor # Set NeoVim as default editor
export EDITOR=nvim export EDITOR=nvim
export SUDO_EDITOR="$EDITOR" export SUDO_EDITOR="$EDITOR"
declare -A -r EDITOR_CONFIGS=(
["nvim"]="$HOME/.config/nvim/init.lua"
["vim"]="$HOME/.vimrc"
)
edit_editor_config() {
for editor in "${!EDITOR_CONFIGS[@]}"; do
if [ "$EDITOR" = "$editor" ]; then
$EDITOR "${EDITOR_CONFIGS[$editor]}"
fi
done
}

32
dots/.bin/bak Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
# back up a file by copying it to a new file with a .bak extension
# reference: https://askubuntu.com/questions/962489/is-there-any-way-to-create-backup-copy-of-a-file-without-type-its-name-twice
usage() {
echo "Usage: bak [-t|--timestamp] <file to back up>"
exit 1
}
timestamp=false
while [[ $# -gt 0 ]]; do
case $1 in
-t|--timestamp)
timestamp=true
shift
;;
*)
break
;;
esac
done
[ $# -eq 1 ] || usage
if $timestamp; then
date="$(date +%Y-%m-%d_%H-%M-%S)"
cp -vpn "$1"{,."$date".bak}
else
cp -vpn "$1"{,.bak}
fi

View File

@@ -1,26 +0,0 @@
#!/usr/bin/env bash
# Back up my $HOME folder to OneDrive using `restic`.
#
# Adds extra flags needed for using `rclone` with sharepoint WebDav I.e. add
# `--ignore-size --ignore-checksum --update` to the default `rclone.args`.
#
# Select directory in repo using -r rclone:<repo>:<directory>
#
# Runs `backup` command on $HOME and ignore what is listed in `.resticexclude`
#
# ```/etc/restic-env
# export B2_ACCOUNT_ID=
# export B2_ACCOUNT_KEY=
# ```
#
# `restic -r b2:desktop-arch init`
source /etc/restic-env
restic -r "$RESTIC_REPOSITORY:$HOSTNAME" backup \
--tag "hektor" \
--one-file-system \
--files-from="$HOME/.resticinclude" \
--exclude-file="$HOME/.resticexclude" \
--exclude-if-present=".nobackup" \
--verbose=3

View File

@@ -1,3 +1,3 @@
#!/usr/bin/env bash #!/usr/bin/env bash
[ -f "/tmp/pomo" ] && cat /tmp/pomo || echo "" [ -f "/home/h/.local/share/pomo" ] && cat /home/h/.local/share/pomo || echo ""

View File

@@ -1,37 +0,0 @@
#!/usr/bin/env bash
gsettings set org.gnome.desktop.background primary-color "#555555"
gsettings set org.gnome.desktop.wm.preferences workspace-names "['sh', 'www', 'dev', 'info', 'etc']"
gsettings set org.gnome.desktop.wm.keybindings close "['<Shift><Super>Delete']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>j']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Super>k']"
gsettings set org.gnome.shell.keybindings toggle-application-view "['<Super>p']"
gsettings set org.gnome.mutter center-new-windows true
gsettings set org.gnome.shell.keybindings toggle-quick-settings []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>a']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>s']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>d']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>f']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>g']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['<Super><Shift>a']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['<Super><Shift>s']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['<Super><Shift>d']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['<Super><Shift>f']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['<Super><Shift>g']"
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name "Kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command "kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding "<Shift><Super>Return"
gsettings set org.gnome.shell.keybindings screenshot "['Print']"
gsettings set org.gnome.desktop.wm.preferences num-workspaces "5"
gsettings set org.gnome.mutter dynamic-workspaces "false"
gsettings set org.gnome.shell.extensions.window-list display-all-workspaces "true"
gsettings set org.gnome.shell.app-switcher current-workspace-only "true"
gsettings set org.gnome.login-screen logo ''
gsettings set org.gnome.shell favorite-apps "['firefox-developer-edition.desktop']"

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
# Tiny Vim update helper
nvim +PlugUpgrade +PlugUpdate +CocUpdate

View File

@@ -163,5 +163,4 @@ map cmd+q
#: }}} #: }}}
include ./themes/zenwritten_dark.conf
include ./nvim.conf include ./nvim.conf

View File

@@ -1,49 +0,0 @@
# This file is auto-generated by shipwright.nvim
# vim:ft=kitty
## name: zenwritten_dark
## author: Michael Chris Lopez
## license: MIT
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenwritten_dark.conf
## blurb: A zenbones variant with zero hue and saturation.
foreground #BBBBBB
background #191919
selection_foreground #BBBBBB
selection_background #404040
# Cursor colors
cursor #C9C9C9
cursor_text_color #191919
# URL underline color when hovering with mouse
# kitty window border colors
# OS Window titlebar colors
# Tab bar colors
active_tab_foreground #BBBBBB
active_tab_background #65435E
inactive_tab_foreground #BBBBBB
inactive_tab_background #303030
# Colors for marks (marked text in the terminal)
# The basic 16 colors
# black
color0 #191919
color8 #3D3839
# red
color1 #DE6E7C
color9 #E8838F
# green
color2 #819B69
color10 #8BAE68
# yellow
color3 #B77E64
color11 #D68C67
# blue
color4 #6099C0
color12 #61ABDA
# magenta
color5 #B279A7
color13 #CF86C1
# cyan
color6 #66A5AD
color14 #65B8C1
# white
color7 #BBBBBB
color15 #8E8E8E
# You can set the remaining 240 colors as color16 to color255.

View File

@@ -1,49 +0,0 @@
# This file is auto-generated by shipwright.nvim
# vim:ft=kitty
## name: zenwritten_light
## author: Michael Chris Lopez
## license: MIT
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenwritten_light.conf
## blurb: A zenbones variant with zero hue and saturation.
foreground #353535
background #EEEEEE
selection_foreground #353535
selection_background #D7D7D7
# Cursor colors
cursor #353535
cursor_text_color #EEEEEE
# URL underline color when hovering with mouse
# kitty window border colors
# OS Window titlebar colors
# Tab bar colors
active_tab_foreground #353535
active_tab_background #DEB9D6
inactive_tab_foreground #353535
inactive_tab_background #CFCFCF
# Colors for marks (marked text in the terminal)
# The basic 16 colors
# black
color0 #EEEEEE
color8 #C6C3C3
# red
color1 #A8334C
color9 #94253E
# green
color2 #4F6C31
color10 #3F5A22
# yellow
color3 #944927
color11 #803D1C
# blue
color4 #286486
color12 #1D5573
# magenta
color5 #88507D
color13 #7B3B70
# cyan
color6 #3B8992
color14 #2B747C
# white
color7 #353535
color15 #5C5C5C
# You can set the remaining 240 colors as color16 to color255.

View File

@@ -1,5 +1,6 @@
default_keybindings = false default_keybindings = false
flip_status_indicators = true flip_status_indicators = true
library_tabs = ["tracks", "albums", "artists", "playlists", "browse"] # remove podcasts tab
[keybindings] [keybindings]
"Enter" = "play" "Enter" = "play"
@@ -24,11 +25,10 @@ flip_status_indicators = true
"c" = "clear" "c" = "clear"
"=" = "volup 1" "=" = "volup 1"
"-" = "voldown 1" "-" = "voldown 1"
"/" = "focus search"
"Q" = "focus queue"
"L" = "focus library"
"1" = "focus queue" "1" = "focus queue"
"2" = "focus library" "2" = "focus search"
"3" = "focus library"
"4" = "focus cover"
"h" = "move left 1" "h" = "move left 1"
"j" = "move down 1" "j" = "move down 1"
"k" = "move up 1" "k" = "move up 1"
@@ -41,26 +41,5 @@ flip_status_indicators = true
"Y" = "share selected" "Y" = "share selected"
"U" = "update" "U" = "update"
[theme]
primary="#aaaaaa"
secondary="#555555"
background="1a1a1a"
title="#cccccc"
title_secondary="#aaaaaa"
playing="#ffffff"
playing_bg="1a1a1a"
playing_selected="#ffffff"
highlight="#cccccc"
highlight_bg="#333333"
error="#ffffff"
error_bg="#333333"
statusbar="#cccccc"
statusbar_bg="#1a1a1a"
statusbar_progress="#cccccc"
statusbar_progress_bg="#1a1a1a"
cmdline="#cccccc"
cmdline_bg="#1a1a1a"
search_match="#ffffff"
backend="pipe" backend="pipe"
notify="false" notify="false"

View File

@@ -1,3 +0,0 @@
username = 'hektor.misplon@gmail.com'
auth_type = 0
auth_data = 'KDEzMzc9PXRydTMpPzo='

View File

@@ -11,6 +11,6 @@ vim.keymap.set("n", "<leader>fd", fzf.diagnostics_workspace)
vim.keymap.set("n", "<leader>fhe", fzf.help_tags) vim.keymap.set("n", "<leader>fhe", fzf.help_tags)
vim.keymap.set("n", "<leader>fhi", fzf.search_history) vim.keymap.set("n", "<leader>fhi", fzf.search_history)
vim.keymap.set("n", "<leader>fma", fzf.marks) vim.keymap.set("n", "<leader>fma", fzf.marks)
vim.keymap.set("n", "<leader>fma", fzf.man_pages) vim.keymap.set("n", "<leader>fmp", fzf.man_pages)
vim.keymap.set("i", "<c-f>", fzf.complete_path) vim.keymap.set("i", "<c-f>", fzf.complete_path)

View File

@@ -1,8 +1,5 @@
require("neodev").setup() -- should setup before lspconfig require("neodev").setup() -- should setup before lspconfig
-- vim.g.coq_settings = { auto_start = 'shut-up' }
-- local capabilities = coq.lsp_ensure_capabilities()
local cmp_nvim_lsp = require("cmp_nvim_lsp") local cmp_nvim_lsp = require("cmp_nvim_lsp")
local capabilities = cmp_nvim_lsp.default_capabilities() local capabilities = cmp_nvim_lsp.default_capabilities()
@@ -64,8 +61,31 @@ local servers = {
Lua = {}, Lua = {},
}, },
}, },
-- marksman = {}, nixd = {
nixd = {}, settings = {
nixd = {
nixpkgs = {
expr = "import <nixpkgs> { }",
expr = 'import (builtins.getFlake ("git+file://" + toString ../../../../../.)).inputs.nixpkgs { }',
},
},
options = {
nixos = {
expr = '(builtins.getFlake ("git+file://" + toString ../../../../../.)).nixosConfigurations."'
.. vim.fn.hostname()
.. '".options',
},
home_manager = {
expr = '(builtins.getFlake ("git+file://" + toString ../../../../../.)).homeConfigurations."'
.. vim.fn.expand("$USER")
.. "@"
.. vim.fn.hostname()
.. '".options',
},
},
},
},
openscad_ls = {},
pyright = {}, pyright = {},
-- tsserver = {}, -- tsserver = {},
svelte = { svelte = {

View File

@@ -1,9 +1,9 @@
require("m_taskwarrior_d").setup() -- require("m_taskwarrior_d").setup()
--
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost" }, { -- vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost" }, {
group = vim.api.nvim_create_augroup("TWTask", { clear = true }), -- group = vim.api.nvim_create_augroup("TWTask", { clear = true }),
pattern = "*.md", -- pattern = "*.md",
callback = function() -- callback = function()
vim.cmd("TWSyncTasks") -- vim.cmd("TWSyncTasks")
end, -- end,
}) -- })

View File

@@ -42,11 +42,11 @@
}, },
"nixCats": { "nixCats": {
"locked": { "locked": {
"lastModified": 1767604651, "lastModified": 1770584904,
"narHash": "sha256-itAnxzTpWpY1s3LA/oNngOuZDXT5U5JUZP5fApwx9gs=", "narHash": "sha256-9Zaz8lbKF2W9pwXZEnbiGsicHdBoU+dHt3Wv3mCJoZ8=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nixCats-nvim", "repo": "nixCats-nvim",
"rev": "3c9bc4d7123e1b48d92f25ba505b889af541e897", "rev": "538fdde784d2909700d97a8ef307783b33a86fb1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -73,11 +73,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1768302833, "lastModified": 1770843696,
"narHash": "sha256-h5bRFy9bco+8QcK7rGoOiqMxMbmn21moTACofNLRMP4=", "narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "61db79b0c6b838d9894923920b612048e1201926", "rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -106,11 +106,11 @@
"plugins-helm-ls-nvim": { "plugins-helm-ls-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1761915179, "lastModified": 1768584652,
"narHash": "sha256-W9NRa84l5Cs62OsDeqb+LMxk8oYjhVBCB3o3UmE9a0I=", "narHash": "sha256-jnMc87OjURNcqsva0npYgVyUrWc5C6L7yHpNvt9eSmg=",
"owner": "qvalentin", "owner": "qvalentin",
"repo": "helm-ls.nvim", "repo": "helm-ls.nvim",
"rev": "d6f3a8d4ad59b4f54cd734267dfb5411679ea608", "rev": "f0b9a1723890971a6d84890b50dbf5f40974ea1b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -119,30 +119,14 @@
"type": "github" "type": "github"
} }
}, },
"plugins-m-taskwarrior-d-nvim": {
"flake": false,
"locked": {
"lastModified": 1767960157,
"narHash": "sha256-ov0qi4LhIlwqrBzSbTJ6APC5qjl2d/vlKWJfW5ZiDrg=",
"owner": "huantrinh1802",
"repo": "m_taskwarrior_d.nvim",
"rev": "107247387cd81823046bc2b8e71150c8edf041d3",
"type": "github"
},
"original": {
"owner": "huantrinh1802",
"repo": "m_taskwarrior_d.nvim",
"type": "github"
}
},
"plugins-mcphub-nvim": { "plugins-mcphub-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1765628564, "lastModified": 1768730387,
"narHash": "sha256-nvWqCGRKhbUHsAM/zd+cwFdcoXXxf6EmcCkpN4mElf4=", "narHash": "sha256-g9tPvjThz6EUk7zcY7lL+YH4lrT4x3FJ6jrNMHA8PAE=",
"owner": "ravitemer", "owner": "ravitemer",
"repo": "mcphub.nvim", "repo": "mcphub.nvim",
"rev": "5193329d510a68f1f5bf189960642c925c177a3a", "rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -206,7 +190,6 @@
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"plugins-beancount-nvim": "plugins-beancount-nvim", "plugins-beancount-nvim": "plugins-beancount-nvim",
"plugins-helm-ls-nvim": "plugins-helm-ls-nvim", "plugins-helm-ls-nvim": "plugins-helm-ls-nvim",
"plugins-m-taskwarrior-d-nvim": "plugins-m-taskwarrior-d-nvim",
"plugins-mcphub-nvim": "plugins-mcphub-nvim", "plugins-mcphub-nvim": "plugins-mcphub-nvim",
"plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim",
"plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim",

View File

@@ -8,10 +8,10 @@
url = "github:rktjmp/shipwright.nvim"; url = "github:rktjmp/shipwright.nvim";
flake = false; flake = false;
}; };
plugins-m-taskwarrior-d-nvim = { # plugins-m-taskwarrior-d-nvim = {
url = "github:huantrinh1802/m_taskwarrior_d.nvim"; # url = "github:huantrinh1802/m_taskwarrior_d.nvim";
flake = false; # flake = false;
}; # };
plugins-beancount-nvim = { plugins-beancount-nvim = {
url = "github:polarmutex/beancount.nvim"; url = "github:polarmutex/beancount.nvim";
flake = false; flake = false;
@@ -37,7 +37,6 @@
outputs = outputs =
{ {
self,
nixpkgs, nixpkgs,
nixCats, nixCats,
... ...
@@ -50,7 +49,7 @@
mkDependencyOverlays = system: [ mkDependencyOverlays = system: [
(utils.standardPluginOverlay inputs) (utils.standardPluginOverlay inputs)
(final: prev: { (_final: _prev: {
mcp-hub = inputs.mcp-hub.packages.${system}.default; mcp-hub = inputs.mcp-hub.packages.${system}.default;
}) })
]; ];
@@ -67,10 +66,15 @@
clang clang
clang-tools clang-tools
delta delta
emmet-language-server
eslint_d
fd fd
gawk gawk
gdtoolkit_4 gdtoolkit_4
hadolint
helm-ls
isort isort
lua-language-server
mcp-hub mcp-hub
nixd nixd
nixfmt nixfmt
@@ -78,12 +82,16 @@
nodePackages.typescript-language-server nodePackages.typescript-language-server
ormolu ormolu
prettierd prettierd
rust-analyzer
rustfmt rustfmt
shellcheck-minimal shellcheck-minimal
stylelint stylelint
stylua stylua
tree-sitter tree-sitter
vscode-langservers-extracted vscode-langservers-extracted
vtsls
yaml-language-server
yamllint
]; ];
}; };
@@ -135,7 +143,7 @@
zenbones-nvim zenbones-nvim
nvim-treesitter.withAllGrammars nvim-treesitter.withAllGrammars
nvim-treesitter-textobjects nvim-treesitter-textobjects
nvim-treesitter-context # nvim-treesitter-context
nvim-ts-context-commentstring nvim-ts-context-commentstring
treesj treesj
sniprun sniprun
@@ -155,7 +163,7 @@
kitty-scrollback-nvim kitty-scrollback-nvim
fidget-nvim fidget-nvim
rustaceanvim rustaceanvim
pkgs.neovimPlugins.m-taskwarrior-d-nvim # pkgs.neovimPlugins.m-taskwarrior-d-nvim
claude-code-nvim claude-code-nvim
]; ];
}; };
@@ -173,9 +181,7 @@
}; };
packageDefinitions = { packageDefinitions = {
nvim = nvim = _: {
{ ... }:
{
settings = { settings = {
suffix-path = true; suffix-path = true;
suffix-LD = true; suffix-LD = true;

View File

@@ -1,10 +1,7 @@
require("nixCatsUtils").setup({ non_nix_value = true }) -- https://github.com/BirdeeHub/nixCats-nvim/blob/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example/init.lua require("nixCatsUtils").setup({ non_nix_value = true }) -- https://github.com/BirdeeHub/nixCats-nvim/blob/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example/init.lua
vim.cmd([[ vim.opt.termguicolors = true
set termguicolors vim.api.nvim_set_hl(0, "Normal", { ctermbg = "NONE", bg = "NONE" })
set bg=light
hi Normal ctermbg=none guibg=NONE
]])
require("base") require("base")
require("cursor") require("cursor")
@@ -22,7 +19,5 @@ require("utils")
require("zk") require("zk")
require("reload") require("reload")
require("paq-setup") -- when not on nixCats
vim.opt.background = "dark" vim.opt.background = "dark"
vim.opt.laststatus = 3 vim.opt.laststatus = 3

View File

@@ -2,10 +2,10 @@ local autocmd = vim.api.nvim_create_autocmd
autocmd("BufNewFile", { autocmd("BufNewFile", {
pattern = "shell.nix", pattern = "shell.nix",
command = "0r ~/.config/nvim/skeletons/shell.nix", command = "0r ~/.config/nvim/skeletons/shell.nix.skeleton",
}) })
autocmd("BufNewFile", { autocmd("BufNewFile", {
pattern = "flake.nix", pattern = "flake.nix",
command = "0r ~/.config/nvim/skeletons/flake.nix", command = "0r ~/.config/nvim/skeletons/flake.nix.skeleton",
}) })

View File

@@ -1 +0,0 @@
set -g status-style bg=default

View File

@@ -1 +1 @@
set -g status-style bg=blue,fg=black; set -g status-style bg=colour12,fg=colour0

View File

@@ -1,22 +0,0 @@
# This file is based on the one provided by shipwright.nvim
set -g @FG '#dddddd'
set -g @BG '#111111'
set -g status-left ' #[fg=#{@FG},bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#{@FG},bold] [#S]#[fg=#{@FG},bold] [%d/%m] #[fg=#{@FG},bold][%I:%M%p] '
set -g status-style fg='#{@FG}',bg='#{@BG}'
set -g window-status-current-style fg='#{@FG}',bg='#{@BG}',bold
set -g pane-border-style fg='#{@FG}'
set -g pane-active-border-style fg='#{@FG}'
set -g message-style fg='#{@FG}',bg='#{@FG}'
set -g display-panes-active-colour '#{@FG}'
set -g display-panes-colour '#{@FG}'
set -g clock-mode-colour '#{@FG}'
set -g mode-style fg='#{@FG}',bg='#{@FG}'

View File

@@ -1,22 +0,0 @@
# This file is based on the one provided by shipwright.nvim
set -g @FG '#111111'
set -g @BG '#dddddd'
set -g status-left ' #[fg=#{@FG},bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#{@FG},bold] [#S]#[fg=#{@FG},bold] [%d/%m] #[fg=#{@FG},bold][%I:%M%p] '
set -g status-style fg='#{@FG}',bg='#{@BG}'
set -g window-status-current-style fg='#{@FG}',bg='#{@BG}',bold
set -g pane-border-style fg='#{@FG}'
set -g pane-active-border-style fg='#{@FG}'
set -g message-style fg='#{@FG}',bg='#{@FG}'
set -g display-panes-active-colour '#{@FG}'
set -g display-panes-colour '#{@FG}'
set -g clock-mode-colour '#{@FG}'
set -g mode-style fg='#{@FG}',bg='#{@FG}'

View File

@@ -39,10 +39,22 @@ bind-key -T root F7 select-window -t 7
bind-key -T root F8 select-window -t 8 bind-key -T root F8 select-window -t 8
bind-key -T root F9 select-window -t 9 bind-key -T root F9 select-window -t 9
# bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
# bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
bind-key -T root S-F1 join-pane -s :1
bind-key -T root S-F2 join-pane -s :2
bind-key -T root S-F3 join-pane -s :3
bind-key -T root S-F4 join-pane -s :4
bind-key -T root S-F5 join-pane -s :5
bind-key -T root S-F6 join-pane -s :6
bind-key -T root S-F7 join-pane -s :7
bind-key -T root S-F8 join-pane -s :8
bind-key -T root S-F9 join-pane -s :9
# 1-based indexing makes most sense for keyboard layouts (where number row start at 1) # 1-based indexing makes most sense for keyboard layouts (where number row start at 1)
set -g base-index 1 set -g base-index 1
set -g pane-base-index 1 set -g pane-base-index 1
setw -g automatic-rename
# statusbar # statusbar
set -g status-position top set -g status-position top
@@ -53,21 +65,10 @@ set -g status-left "#[bg=colour235,fg=colour255] #S #[fg=colour235,bg=default]
set -g status-right "" set -g status-right ""
%else %else
set -g status-left '#h ' set -g status-left '#h '
set -g status-right '#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") %a%l:%M:%S %p %Y-%m-%d' set -g status-right '#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") %a %l:%M:%S %p %Y-%m-%d'
%endif %endif
# theming
%if "#{==:#{host},desktop-arch}"
set -g default-terminal "tmux-256color" set -g default-terminal "tmux-256color"
setw -g window-status-style fg=colour244,bg=default
setw -g window-status-current-style fg=colour232,bg=default,bold
set -g message-style fg=colour232,bg=default
setw -g clock-mode-colour colour235
set -g status-style bg=default
set -g pane-border-style fg=#cccccc
set -g pane-active-border-style fg=#555555
set -g message-style bg=#cccccc,fg=#000000
%endif
set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.ssh.conf" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.regular.conf"' set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.ssh.conf" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.regular.conf"'
@@ -75,3 +76,5 @@ set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_C
if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel' if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel'
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection' if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection'
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on' if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on'
set -g allow-passthrough on

View File

@@ -1 +0,0 @@
set -g status-style bg=default

3
dots/.gitignore vendored
View File

@@ -84,6 +84,9 @@ dkms.conf
# Dotenv # Dotenv
.env .env
.envrc
.direnv/
.pre-commit-config.yaml
# Prevent module files from being ignored (e.g. NestJS) # Prevent module files from being ignored (e.g. NestJS)
!*.module* !*.module*

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env python3
import sys
import json
SLOTS_FILE = "/home/h/.local/share/task/add_slots"
def get_slots():
try:
with open(SLOTS_FILE, "r") as f:
return int(f.read().strip())
except:
return 0
slots = get_slots()
if slots <= 0:
print(f"Cannot add task: No slots available (0/{slots}).")
print("Delete or complete a task first to earn an add slot.")
sys.exit(1)
with open(SLOTS_FILE, "w") as f:
f.write(str(slots - 1))
print(f"Task added. Slots remaining: {slots - 1}")
for line in sys.stdin:
task = json.loads(line)
print(json.dumps(task))
sys.exit(0)

View File

@@ -0,0 +1,34 @@
#!/usr/bin/env python3
import sys
import json
SLOTS_FILE = "/home/h/.local/share/task/add_slots"
def get_slots():
try:
with open(SLOTS_FILE, "r") as f:
return int(f.read().strip())
except:
return 0
data = sys.stdin.read().strip().split("\n")
if len(data) < 2:
for line in data:
if line:
print(line)
sys.exit(0)
old_task = json.loads(data[0])
new_task = json.loads(data[1])
was_pending = old_task.get("status") == "pending"
is_not_pending = new_task.get("status") in ("completed", "deleted")
if was_pending and is_not_pending:
slots = get_slots() + 1
with open(SLOTS_FILE, "w") as f:
f.write(str(slots))
print(f"Slot earned! Total slots: {slots}")
print(json.dumps(new_task))
sys.exit(0)

View File

@@ -1,44 +0,0 @@
# Restic ignore
# General
.trash
Trash
.cache
cache
Cache
CachedData
CachedExtension
CacheStorage
__pycache__
GPUCache
ShaderCache
build
.git
node_modules
venv
env
# Specifics
$HOME/.android
$HOME/.atom
$HOME/.build
$HOME/.cabal
$HOME/.cargo
$HOME/.conda
$HOME/.config/BraveSoftware/Brave-Browser/Default/Local Storage
$HOME/.config/BraveSoftware/Brave-Browser/Default/Local Extension Settings
$HOME/.config/nvm/versions
$HOME/.config/devcert
$HOME/.espressif
$HOME/.local/share/torbrowser
$HOME/.mozilla
$HOME/.nvm
$HOME/.npm
$HOME/.nuget
$HOME/.yarn
$HOME/.config/yarn
$HOME/doc/disk-images
$HOME/.stremio-server
$HOME/Games
!$HOME/Games/*/drive_c/users/h/AppData
!$HOME/Games/rhino

View File

@@ -1,3 +0,0 @@
/etc
/boot
/home

524
flake.lock generated
View File

@@ -1,5 +1,97 @@
{ {
"nodes": { "nodes": {
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1765809053,
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1760703920,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"colmena": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"nixpkgs"
],
"stable": "stable"
},
"locked": {
"lastModified": 1762034856,
"narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=",
"owner": "zhaofengli",
"repo": "colmena",
"rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "colmena",
"type": "github"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -7,11 +99,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746728054, "lastModified": 1768920986,
"narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", "narHash": "sha256-CNzzBsRhq7gg4BMBuTDObiWDH/rFYHEuDRVOwCcwXw4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "ff442f5d1425feb86344c028298548024f21256d", "rev": "de5708739256238fb912c62f03988815db89ec9a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -29,11 +121,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1768622624, "lastModified": 1771732978,
"narHash": "sha256-Em6PP667PeXbEjidbV2LnNwmUYohbrSFvVPLYLUDHms=", "narHash": "sha256-o7gZh/eXFkEEmzwlBdIbgCJhmdlqQhOhVjudqgsIefg=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "8061c6d9199dc6cc0727d4241959eea28f2fa0a6", "rev": "18226106e18bc40cce99d436ee741a946f1888f6",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -43,6 +135,54 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1764873433,
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@@ -65,7 +205,43 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1767609335,
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
@@ -83,6 +259,84 @@
"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": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771857445,
"narHash": "sha256-NCrhxU9wq5+4jQG1fvRbyTnH8GSbH6LovreVoH2fOL4=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3d7a52f678227930ab089f5d9b384f2d50f7d534",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"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": {
"host": "gitlab.gnome.org",
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -90,11 +344,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768598210, "lastModified": 1771851181,
"narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -122,13 +376,34 @@
"type": "github" "type": "github"
} }
}, },
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"colmena",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-secrets": { "nix-secrets": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1768414240, "lastModified": 1770135527,
"narHash": "sha256-M/MObXs5oHjUGnKYMwU6Lrl/CfA1RMLGqJYytkfPXjg=", "narHash": "sha256-Fup9LiyL6bDID3x+rAB2nP99Xv2o9Is5NkTDbmIy6o0=",
"ref": "main", "ref": "main",
"rev": "601921b44c3794e899bd31c0f302e9a9f5e6c480", "rev": "521d144f8a8ff9fca8ccf492d7fbdd05d9a5fe37",
"shallow": true, "shallow": true,
"type": "git", "type": "git",
"url": "ssh://git@github.com/hektor/nix-secrets" "url": "ssh://git@github.com/hektor/nix-secrets"
@@ -142,11 +417,11 @@
}, },
"nixCats": { "nixCats": {
"locked": { "locked": {
"lastModified": 1768594882, "lastModified": 1770584904,
"narHash": "sha256-KmVXwe4QDkcZlJbICj4FC83J+ZIT1r5t8nP+dCY/NDk=", "narHash": "sha256-9Zaz8lbKF2W9pwXZEnbiGsicHdBoU+dHt3Wv3mCJoZ8=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nixCats-nvim", "repo": "nixCats-nvim",
"rev": "6a04f1c7d741b1f084324159ab7c15bcedbb1e0a", "rev": "538fdde784d2909700d97a8ef307783b33a86fb1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -157,7 +432,7 @@
}, },
"nixgl": { "nixgl": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@@ -178,11 +453,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1768584846, "lastModified": 1771423359,
"narHash": "sha256-IRPmIOV2tPwxbhP/I9M5AmwhTC0lMPtoPStC+8T6xl0=", "narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "cce68f4a54fa4e3d633358364477f5cc1d782440", "rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -194,11 +469,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1771369470,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -224,6 +499,31 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1767810917,
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nvim": { "nvim": {
"inputs": { "inputs": {
"mcp-hub": "mcp-hub", "mcp-hub": "mcp-hub",
@@ -233,7 +533,6 @@
], ],
"plugins-beancount-nvim": "plugins-beancount-nvim", "plugins-beancount-nvim": "plugins-beancount-nvim",
"plugins-helm-ls-nvim": "plugins-helm-ls-nvim", "plugins-helm-ls-nvim": "plugins-helm-ls-nvim",
"plugins-m-taskwarrior-d-nvim": "plugins-m-taskwarrior-d-nvim",
"plugins-mcphub-nvim": "plugins-mcphub-nvim", "plugins-mcphub-nvim": "plugins-mcphub-nvim",
"plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim",
"plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim",
@@ -281,30 +580,14 @@
"type": "github" "type": "github"
} }
}, },
"plugins-m-taskwarrior-d-nvim": {
"flake": false,
"locked": {
"lastModified": 1767960157,
"narHash": "sha256-ov0qi4LhIlwqrBzSbTJ6APC5qjl2d/vlKWJfW5ZiDrg=",
"owner": "huantrinh1802",
"repo": "m_taskwarrior_d.nvim",
"rev": "107247387cd81823046bc2b8e71150c8edf041d3",
"type": "github"
},
"original": {
"owner": "huantrinh1802",
"repo": "m_taskwarrior_d.nvim",
"type": "github"
}
},
"plugins-mcphub-nvim": { "plugins-mcphub-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1768498135, "lastModified": 1768730387,
"narHash": "sha256-FPnN22K98+XtmQT/TxX+uImFjBrLGre2rUHkNyOl2Js=", "narHash": "sha256-g9tPvjThz6EUk7zcY7lL+YH4lrT4x3FJ6jrNMHA8PAE=",
"owner": "ravitemer", "owner": "ravitemer",
"repo": "mcphub.nvim", "repo": "mcphub.nvim",
"rev": "415d9d0ea1db12eafc77c871f1ee07936f3b6e03", "rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -363,15 +646,18 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"colmena": "colmena",
"disko": "disko", "disko": "disko",
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"git-hooks": "git-hooks",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-secrets": "nix-secrets", "nix-secrets": "nix-secrets",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nvim": "nvim", "nvim": "nvim",
"sops-nix": "sops-nix" "sops-nix": "sops-nix",
"stylix": "stylix"
} }
}, },
"sops-nix": { "sops-nix": {
@@ -381,11 +667,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768481291, "lastModified": 1771735105,
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=", "narHash": "sha256-MJuVJeszZEziquykEHh/hmgIHYxUcuoG/1aowpLiSeU=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101", "rev": "d7755d820f5fa8acf7f223309c33e25d4f92e74f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -394,6 +680,56 @@
"type": "github" "type": "github"
} }
}, },
"stable": {
"locked": {
"lastModified": 1750133334,
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "36ab78dab7da2e4e27911007033713bab534187b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"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-parts": "flake-parts_2",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1771787992,
"narHash": "sha256-Vg4bGwwenNYI8p3nJTl9FRyeIyrjATeZrZr+GyUSDrw=",
"owner": "danth",
"repo": "stylix",
"rev": "30054cca073b49b42a71289edec858f535b27fe9",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -408,6 +744,102 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"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": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1767710407,
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1767489635,
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1767488740,
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -3,6 +3,10 @@
nixpkgs = { nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable"; url = "github:nixos/nixpkgs/nixos-unstable";
}; };
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware = { nixos-hardware = {
url = "github:NixOS/nixos-hardware/master"; url = "github:NixOS/nixos-hardware/master";
}; };
@@ -34,53 +38,114 @@
url = "path:./dots/.config/nvim"; url = "path:./dots/.config/nvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
colmena = {
url = "github:zhaofengli/colmena";
inputs.nixpkgs.follows = "nixpkgs";
};
git-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
{ {
self, self,
nixpkgs, nixpkgs,
nixos-hardware,
disko,
sops-nix,
nix-secrets,
home-manager, home-manager,
nixgl, nixgl,
firefox-addons, git-hooks,
nvim, ...
}@inputs: }@inputs:
let let
inherit (self) outputs; inherit (self) outputs;
lib = inputs.nixpkgs.lib; inherit (inputs.nixpkgs) lib;
utils = import ./utils { inherit lib; }; utils = import ./utils { inherit lib; };
hostDirNames = utils.dirNames ./hosts; hostDirNames = utils.dirNames ./hosts;
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { dotsPath = ./dots;
inherit system; gitHooks = import ./git-hooks.nix {
overlays = [ nixgl.overlay ]; inherit nixpkgs git-hooks system;
src = ./.;
}; };
in in
{ {
nix.nixPath = [ nix.nixPath = [
"nixpkgs=${inputs.nixpkgs}" "nixpkgs=${inputs.nixpkgs}"
]; # <https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md> ]; # <https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md>
nixosConfigurations = lib.genAttrs hostDirNames ( nixosConfigurations =
(lib.genAttrs hostDirNames (
host: host:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
modules = [ ./hosts/${host} ]; modules = [
./hosts/${host}
{ nixpkgs.hostPlatform = import ./hosts/${host}/system.nix; }
];
specialArgs = { specialArgs = {
inherit inputs outputs; inherit inputs outputs dotsPath;
}; };
} }
); ))
// {
sd-image-orange-pi-aarch64 = nixpkgs.lib.nixosSystem {
modules = [
"${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
./images/sd-image-orange-pi-aarch64.nix
{
nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "aarch64-linux";
}
];
specialArgs = {
inherit inputs outputs dotsPath;
};
};
sd-image-raspberry-pi-aarch64 = nixpkgs.lib.nixosSystem {
modules = [
"${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
./images/sd-image-raspberry-pi-aarch64.nix
{
nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "aarch64-linux";
}
];
specialArgs = {
inherit inputs outputs dotsPath;
};
};
};
homeConfigurations = { homeConfigurations = {
work = home-manager.lib.homeManagerConfiguration { work = home-manager.lib.homeManagerConfiguration {
inherit pkgs; pkgs = import nixpkgs {
inherit system;
overlays = [ nixgl.overlay ];
};
modules = [ ./home/hosts/work ]; modules = [ ./home/hosts/work ];
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs dotsPath;
}; };
}; };
}; };
apps.${system}.colmena = inputs.colmena.apps.${system}.default;
colmena = import ./deploy/colmena.nix {
inherit
self
inputs
;
};
checks.${system} = gitHooks.checks;
formatter.${system} = gitHooks.formatter;
devShells.${system} = gitHooks.devShells;
legacyPackages.${system} = {
sd-image-orange-pi-aarch64 =
self.nixosConfigurations.sd-image-orange-pi-aarch64.config.system.build.sdImage;
sd-image-raspberry-pi-aarch64 =
self.nixosConfigurations.sd-image-raspberry-pi-aarch64.config.system.build.sdImage;
};
}; };
} }

47
git-hooks.nix Normal file
View File

@@ -0,0 +1,47 @@
{
nixpkgs,
git-hooks,
system,
src,
}:
let
pkgs = nixpkgs.legacyPackages.${system};
pre-commit-check = git-hooks.lib.${system}.run {
inherit src;
hooks = {
nixfmt = {
enable = true;
package = pkgs.nixfmt;
};
statix.enable = true;
deadnix.enable = true;
};
};
in
{
checks = {
inherit pre-commit-check;
};
formatter =
let
inherit (pre-commit-check) config;
inherit (config) package configFile;
script = ''
${pkgs.lib.getExe package} run --all-files --config ${configFile}
'';
in
pkgs.writeShellScriptBin "pre-commit-run" script;
devShells = {
default =
let
inherit (pre-commit-check) shellHook enabledPackages;
in
pkgs.mkShell {
inherit shellHook;
buildInputs = enabledPackages;
};
};
}

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
inputs,
config, config,
pkgs, pkgs,
... ...
@@ -11,25 +10,44 @@ let
in in
{ {
imports = [ imports = [
../../modules
../../modules/ai-tools.nix
../../modules/audio
../../modules/cloud
../../modules/comms
../../modules/desktop/niri ../../modules/desktop/niri
../../modules/git.nix ../../modules/direnv
../../modules/k9s.nix ../../modules/3d
../../modules/git
../../modules/k8s/k9s.nix
../../modules/kitty.nix
../../modules/music
../../modules/nvim.nix
../../modules/pandoc.nix
../../modules/ssh.nix ../../modules/ssh.nix
../../modules/taskwarrior.nix ../../modules/taskwarrior.nix
../../modules/keepassxc.nix ../../modules/keepassxc.nix
../../modules/anki.nix ../../modules/anki.nix
../../modules/photography
../../modules/browser ../../modules/browser
../../modules/shell ../../modules/shell
]; ];
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
xdg.userDirs.createDirectories = false; xdg.userDirs.createDirectories = false;
xdg.userDirs.download = "${config.home.homeDirectory}/dl"; xdg.userDirs.download = "${config.home.homeDirectory}/dl";
ai-tools.opencode.enable = true;
browser.primary = "librewolf"; browser.primary = "librewolf";
cloud.hetzner.enable = true;
comms.signal.enable = true;
github.enable = true;
pandoc.enable = true;
shell.bash = { shell.bash = {
enable = true; enable = true;
@@ -41,16 +59,5 @@ in
taskwarrior.config.recurrence = lib.mkForce "on"; taskwarrior.config.recurrence = lib.mkForce "on";
}; };
home.packages = import ../packages.nix { home.packages = import ../packages.nix { inherit pkgs; };
inherit pkgs;
inherit config;
};
home.file = {
".config/kitty/kitty.conf".source = ../../../dots/.config/kitty/kitty.conf;
".config/kitty/themes/zenwritten_light.conf".source =
../../../dots/.config/kitty/themes/zenwritten_light.conf;
".config/kitty/themes/zenwritten_dark.conf".source =
../../../dots/.config/kitty/themes/zenwritten_dark.conf;
};
} }

View File

@@ -1,5 +1,4 @@
{ {
inputs,
config, config,
pkgs, pkgs,
... ...
@@ -10,10 +9,21 @@ let
in in
{ {
imports = [ imports = [
../../modules
../../modules/ai-tools.nix
../../modules/audio
../../modules/anki.nix ../../modules/anki.nix
../../modules/cloud
../../modules/comms
../../modules/direnv
../../modules/desktop/niri ../../modules/desktop/niri
../../modules/git.nix ../../modules/git
../../modules/k9s.nix ../../modules/k8s/k9s.nix
../../modules/kitty.nix
../../modules/music
../../modules/nfc
../../modules/nvim.nix
../../modules/pandoc.nix
../../modules/ssh.nix ../../modules/ssh.nix
../../modules/taskwarrior.nix ../../modules/taskwarrior.nix
../../modules/keepassxc.nix ../../modules/keepassxc.nix
@@ -21,14 +31,22 @@ in
../../modules/shell ../../modules/shell
]; ];
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
xdg.userDirs.createDirectories = false; xdg.userDirs.createDirectories = false;
xdg.userDirs.download = "${config.home.homeDirectory}/dl"; xdg.userDirs.download = "${config.home.homeDirectory}/dl";
ai-tools.opencode.enable = true;
browser.primary = "librewolf"; browser.primary = "librewolf";
cloud.hetzner.enable = true;
comms.signal.enable = true;
github.enable = true;
nfc.proxmark3.enable = true;
pandoc.enable = true;
shell.bash = { shell.bash = {
enable = true; enable = true;
@@ -43,12 +61,4 @@ in
inherit pkgs; inherit pkgs;
inherit config; inherit config;
}; };
home.file = {
".config/kitty/kitty.conf".source = ../../../dots/.config/kitty/kitty.conf;
".config/kitty/themes/zenwritten_light.conf".source =
../../../dots/.config/kitty/themes/zenwritten_light.conf;
".config/kitty/themes/zenwritten_dark.conf".source =
../../../dots/.config/kitty/themes/zenwritten_dark.conf;
};
} }

View File

@@ -2,34 +2,21 @@
with pkgs; with pkgs;
[ [
bash-completion
bat bat
entr entr
feh feh
fzf fzf
gh
git
haskellPackages.pandoc-crossref
htop htop
jq jq
kitty
nixfmt-rfc-style
nmap nmap
nodejs_24
nvimpager nvimpager
pandoc
parallel parallel
pass pass
pnpm
python3
ripgrep ripgrep
signal-desktop
silver-searcher silver-searcher
sops sops
sshfs sshfs
tldr tldr
tmux
tmuxp
tree tree
unzip unzip
vimPlugins.vim-plug vimPlugins.vim-plug

View File

@@ -11,12 +11,31 @@ in
{ {
imports = [ imports = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
../../modules
../../modules/stylix.nix
../../modules/ai-tools.nix
../../modules/cloud
../../modules/comms
../../modules/desktop/niri
../../modules/dconf.nix ../../modules/dconf.nix
../../modules/git.nix ../../modules/direnv
../../modules/k9s.nix ../../modules/docker
../../modules/git
../../modules/go
../../modules/k8s
../../modules/k8s/k9s.nix
../../modules/keepassxc.nix ../../modules/keepassxc.nix
../../modules/kitty.nix
../../modules/nvim.nix
../../modules/pandoc.nix
../../modules/browser ../../modules/browser
../../modules/shell
../../modules/music
../../modules/nodejs.nix
../../modules/taskwarrior.nix ../../modules/taskwarrior.nix
../../modules/bruno.nix
../../modules/pandoc.nix
../../modules/vscode.nix
]; ];
sops = { sops = {
@@ -29,37 +48,73 @@ in
taskwarrior_sync_encryption_secret = { }; taskwarrior_sync_encryption_secret = { };
anki_sync_user = { }; anki_sync_user = { };
anki_sync_key = { }; anki_sync_key = { };
opencode_api_key = { };
}; };
templates."taskrc.d/sync" = { templates = {
"taskrc.d/sync" = {
content = '' content = ''
sync.server.url=${config.sops.placeholder.taskwarrior_sync_server_url} sync.server.url=${config.sops.placeholder.taskwarrior_sync_server_url}
sync.server.client_id=${config.sops.placeholder.taskwarrior_sync_server_client_id} sync.server.client_id=${config.sops.placeholder.taskwarrior_sync_server_client_id}
sync.encryption_secret=${config.sops.placeholder.taskwarrior_sync_encryption_secret} sync.encryption_secret=${config.sops.placeholder.taskwarrior_sync_encryption_secret}
''; '';
}; };
"opencode/auth.json" = {
path = "${config.home.homeDirectory}/.local/share/opencode/auth.json";
content = ''
{
"zai-coding-plan": {
"type": "api",
"key": "${config.sops.placeholder.opencode_api_key}"
}
}
'';
};
};
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
targets.genericLinux.nixGL = { targets.genericLinux.nixGL = {
packages = inputs.nixgl.packages; inherit (inputs.nixgl) packages;
defaultWrapper = "mesa"; defaultWrapper = "mesa";
}; };
browser.primary = "firefox"; browser.primary = "firefox";
browser.secondary = "chromium"; browser.secondary = "chromium";
cloud.azure.enable = true;
comms.signal.enable = true;
comms.teams.enable = true;
ai-tools = {
claude-code.enable = true;
opencode.enable = true;
};
github.enable = true;
gitlab.enable = true;
pandoc.enable = true;
shell.bash.enable = true;
starship.enable = true;
programs = { programs = {
gh.enable = true; gh.enable = true;
kubecolor.enable = true; kubecolor.enable = true;
}; };
home.packages = import ./packages.nix { home.packages =
import ./packages.nix {
inherit inputs;
inherit config;
inherit pkgs;
}
++ import ../packages.nix {
inherit inputs; inherit inputs;
inherit config; inherit config;
inherit pkgs; inherit pkgs;

View File

@@ -1,124 +0,0 @@
{
inputs,
config,
pkgs,
...
}:
with pkgs;
[
(pkgs.stdenv.mkDerivation {
name = "ccline";
src = pkgs.fetchurl {
url = "https://github.com/Haleclipse/CCometixLine/releases/download/v1.0.8/ccline-linux-x64.tar.gz";
hash = "sha256-Joe3Dd6uSMGi66QT6xr2oY/Tz8rA5RuKa6ckBVJIzI0=";
};
unpackPhase = ''
tar xzf $src
'';
installPhase = ''
mkdir -p $out/bin
cp ccline $out/bin/
chmod +x $out/bin/ccline
'';
meta = with pkgs.lib; {
description = "CCometixLine Linux x64 CLI (Claude Code statusline)";
homepage = "https://github.com/Haleclipse/CCometixLine";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
};
})
act
age
aider-chat
argocd
azure-cli
bat
biome
(config.lib.nixGL.wrap bruno)
chromium
clang
claude-code
(config.lib.nixGL.wrap code-cursor)
curl
dconf2nix
dive
emmet-language-server
eslint_d
flameshot
fluxcd
fzf
fzf-git-sh
git-machete
github-copilot-cli
glab
go
hadolint
hello
helm-ls
htop
input-leap
jira-cli-go
jq
k3d
(config.lib.nixGL.wrap kitty)
kubectl
kubernetes
kubernetes-helm
kustomize
lua
lua-language-server
minikube
ncspot
nil
nixd
nixfmt-rfc-style
# nodejs
nodejs_24
nvimpager
(config.lib.nixGL.wrap obsidian)
pavucontrol
# pgadmin4
prettierd
responder
ripgrep
rust-analyzer
rustlings
shellcheck
(config.lib.nixGL.wrap signal-desktop)
silver-searcher
sleuthkit
spotify
starship
stylua
taskopen
taskwarrior3
(config.lib.nixGL.wrap teams-for-linux)
opentofu
sops
tldr
tmux
tree
tree-sitter
tsx
upbound
vault-bin
(config.lib.nixGL.wrap vscode)
vscode-langservers-extracted
vtsls
yaml-language-server
xclip
xmage
yamllint
yarn
(python314.withPackages (ppkgs: [
ppkgs.plyer
ppkgs.dbus-python
]))
# flakes
inputs.nvim.packages.x86_64-linux.nvim
]

View File

@@ -13,7 +13,4 @@ let
[ ]; [ ];
in in
(with pkgs; [ localPackages
inputs.nvim.packages.x86_64-linux.nvim
])
++ localPackages

View File

@@ -0,0 +1,11 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
bambu-studio
blender
openscad-lsp
openscad-unstable
orca-slicer
];
}

89
home/modules/ai-tools.nix Normal file
View File

@@ -0,0 +1,89 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.ai-tools;
rtk-version = "0.18.1";
in
{
options.ai-tools = {
claude-code.enable = lib.mkEnableOption "claude code with rtk and ccline";
opencode.enable = lib.mkEnableOption "opencode";
};
config = lib.mkMerge [
(lib.mkIf cfg.claude-code.enable {
home.packages = with pkgs; [
claude-code
(pkgs.stdenv.mkDerivation {
name = "ccline";
src = pkgs.fetchurl {
url = "https://github.com/Haleclipse/CCometixLine/releases/download/v1.0.8/ccline-linux-x64.tar.gz";
hash = "sha256-Joe3Dd6uSMGi66QT6xr2oY/Tz8rA5RuKa6ckBVJIzI0=";
};
unpackPhase = ''
tar xzf $src
'';
installPhase = ''
mkdir -p $out/bin
cp ccline $out/bin/
chmod +x $out/bin/ccline
'';
meta = with pkgs.lib; {
description = "CCometixLine Linux x64 CLI (Claude Code statusline)";
homepage = "https://github.com/Haleclipse/CCometixLine";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
};
})
(pkgs.stdenv.mkDerivation {
name = "rtk-${rtk-version}";
version = rtk-version;
src = pkgs.fetchurl {
url = "https://github.com/rtk-ai/rtk/releases/download/v${rtk-version}/rtk-x86_64-unknown-linux-gnu.tar.gz";
hash = "sha256-XoTia5K8b00OzcKYCufwx8ApkAS31DxUCpGSU0jFs2Q=";
};
unpackPhase = ''
tar xzf $src
'';
installPhase = ''
mkdir -p $out/bin
cp rtk $out/bin/
chmod +x $out/bin/rtk
'';
meta = with pkgs.lib; {
description = "RTK - AI coding tool enhancer";
homepage = "https://www.rtk-ai.app";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
};
})
mcp-nixos
];
})
(lib.mkIf cfg.opencode.enable {
home.packages = with pkgs; [
opencode
];
home.file.".config/opencode/opencode.json".text = builtins.toJSON {
"$schema" = "https://opencode.ai/config.json";
permission = {
external_directory = {
"/run/secrets/" = "deny";
"~/.config/sops/age/keys.txt" = "deny";
};
};
plugin = [ "@mohak34/opencode-notifier@latest" ];
};
})
];
}

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ pulsemixer ];
}

View File

@@ -0,0 +1,89 @@
{
config,
inputs,
lib,
pkgs,
...
}:
let
bookmarks = import ./bookmarks.nix;
in
{
nativeMessagingHosts =
with pkgs;
[
tridactyl-native
]
++ lib.optionals config.programs.keepassxc.enable [ keepassxc ];
profiles = {
default = {
settings = {
"signon.rememberSignons" = false;
"findbar.highlightAll" = true;
"extensions.autoDisableScopes" = 0;
};
extensions = {
force = true;
packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [
duckduckgo-privacy-essentials
firefox-color
istilldontcareaboutcookies
libredirect
keepassxc-browser
react-devtools
sponsorblock
tridactyl
ublock-origin
];
};
bookmarks = {
force = true;
settings = [
{
toolbar = true;
bookmarks = [
bookmarks.nixos
];
}
];
};
};
};
policies = {
DefaultDownloadDirectory = "\${home}/dl";
ExtensionSettings = {
"jid1-ZAdIEUB7XOzOJw@jetpack" = {
default_area = "navbar";
private_browsing = true;
};
"idcac-pub@guus.ninja" = {
default_area = "navbar";
private_browsing = true;
};
"7esoorv3@alefvanoon.anonaddy.me" = {
default_area = "navbar";
};
"keepassxc-browser@keepassxc.org" = {
default_area = "navbar";
private_browsing = true;
};
"@react-devtools" = {
default_area = "navbar";
private_browsing = true;
};
"sponsorBlocker@ajay.app" = {
default_area = "navbar";
private_browsing = true;
};
"tridactyl.vim@cmcaine.co.uk".settings = {
private_browsing = true;
};
"uBlock0@raymondhill.net".settings = {
default_area = "navbar";
private_browsing = true;
};
};
};
}

View File

@@ -1,89 +1,23 @@
{ {
config, config,
inputs,
lib, lib,
inputs,
pkgs, pkgs,
... ...
}: }:
let
bookmarks = import ./bookmarks.nix;
in
{ {
config = lib.mkIf (config.browser.primary == "firefox" || config.browser.secondary == "firefox") { config = lib.mkIf (config.browser.primary == "firefox" || config.browser.secondary == "firefox") {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
nativeMessagingHosts = with pkgs; [
tridactyl-native
];
profiles = {
default = {
settings = {
"signon.rememberSignons" = false;
"findbar.highlightAll" = true;
"extensions.autoDisableScopes" = 0;
};
extensions = {
packages = with inputs.firefox-addons.packages.${pkgs.system}; [
duckduckgo-privacy-essentials
istilldontcareaboutcookies
libredirect
keepassxc-browser
react-devtools
sponsorblock
tridactyl
ublock-origin
];
};
bookmarks = {
force = true;
settings = [
{
toolbar = true;
bookmarks = [
bookmarks.nixos
];
} }
]; // (import ./firefox-base.nix {
}; inherit
}; config
}; inputs
policies = { lib
DefaultDownloadDirectory = "\${home}/dl"; pkgs
ExtensionSettings = { ;
"jid1-ZAdIEUB7XOzOJw@jetpack" = { });
default_area = "navbar";
private_browsing = true;
};
"idcac-pub@guus.ninja" = {
default_area = "navbar";
private_browsing = true;
};
"7esoorv3@alefvanoon.anonaddy.me" = {
default_area = "navbar";
};
"keepassxc-browser@keepassxc.org" = {
default_area = "navbar";
private_browsing = true;
};
"@react-devtools" = {
default_area = "navbar";
private_browsing = true;
};
"sponsorBlocker@ajay.app" = {
default_area = "navbar";
private_browsing = true;
};
"tridactyl.vim@cmcaine.co.uk".settings = {
private_browsing = true;
};
"uBlock0@raymondhill.net".settings = {
default_area = "navbar";
private_browsing = true;
};
};
};
};
}; };
} }

View File

@@ -1,91 +1,25 @@
{ {
config, config,
inputs,
lib, lib,
inputs,
pkgs, pkgs,
... ...
}: }:
let
bookmarks = import ./bookmarks.nix;
in
{ {
config = config =
lib.mkIf (config.browser.primary == "librewolf" || config.browser.secondary == "librewolf") lib.mkIf (config.browser.primary == "librewolf" || config.browser.secondary == "librewolf")
{ {
programs.librewolf = { programs.librewolf = {
enable = true; enable = true;
nativeMessagingHosts = with pkgs; [
tridactyl-native
];
profiles = {
default = {
settings = {
"signon.rememberSignons" = false;
"findbar.highlightAll" = true;
"extensions.autoDisableScopes" = 0;
};
extensions = {
packages = with inputs.firefox-addons.packages.${pkgs.system}; [
duckduckgo-privacy-essentials
istilldontcareaboutcookies
libredirect
keepassxc-browser
react-devtools
sponsorblock
tridactyl
ublock-origin
];
};
bookmarks = {
force = true;
settings = [
{
toolbar = true;
bookmarks = [
bookmarks.nixos
];
} }
]; // (import ./firefox-base.nix {
}; inherit
}; config
}; inputs
policies = { lib
DefaultDownloadDirectory = "\${home}/dl"; pkgs
ExtensionSettings = { ;
"jid1-ZAdIEUB7XOzOJw@jetpack" = { });
default_area = "navbar";
private_browsing = true;
};
"idcac-pub@guus.ninja" = {
default_area = "navbar";
private_browsing = true;
};
"7esoorv3@alefvanoon.anonaddy.me" = {
default_area = "navbar";
};
"keepassxc-browser@keepassxc.org" = {
default_area = "navbar";
private_browsing = true;
};
"@react-devtools" = {
default_area = "navbar";
private_browsing = true;
};
"sponsorBlocker@ajay.app" = {
default_area = "navbar";
private_browsing = true;
};
"tridactyl.vim@cmcaine.co.uk".settings = {
private_browsing = true;
};
"uBlock0@raymondhill.net".settings = {
default_area = "navbar";
private_browsing = true;
};
};
};
};
}; };
} }

7
home/modules/bruno.nix Normal file
View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
config = {
home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.bruno "--no-sandbox")) ];
};
}

View File

@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf config.cloud.azure.enable {
home.packages = with pkgs; [ azure-cli ];
};
}

View File

@@ -0,0 +1,17 @@
{ lib, ... }:
{
options.cloud = {
azure = {
enable = lib.mkEnableOption "azure CLI";
};
hetzner = {
enable = lib.mkEnableOption "hetzner CLI";
};
};
imports = [
./azure.nix
./hetzner.nix
];
}

View File

@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
osConfig ? null,
...
}:
let
isNixOS = osConfig != null;
in
{
config = lib.mkIf config.cloud.hetzner.enable {
warnings =
lib.optional (!isNixOS)
"hcloud module requires NixOS host configuration. This module will not work with standalone home-manager.";
home = {
packages = with pkgs; [ hcloud ];
};
};
}

View File

@@ -0,0 +1,17 @@
{ lib, ... }:
{
options.comms = {
signal = {
enable = lib.mkEnableOption "signal";
};
teams = {
enable = lib.mkEnableOption "teams";
};
};
imports = [
./signal.nix
./teams.nix
];
}

View File

@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf config.comms.signal.enable {
home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.signal-desktop "--no-sandbox")) ];
};
}

View File

@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf config.comms.teams.enable {
home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.teams-for-linux "--no-sandbox")) ];
};
}

View File

@@ -1,21 +1,13 @@
{ config, pkgs, ... }:
let
terminal = "kitty";
browser = config.browser.primary;
in
{ {
dconf.settings = { dconf.settings = {
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = true;
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/desktop/applications/terminal" = {
exec = "kitty";
exec-arg = "";
};
"org/gnome/desktop/background" = { "org/gnome/desktop/background" = {
color-shading-type = "solid"; color-shading-type = "solid";
picture-opacity = 100;
picture-options = "zoom"; picture-options = "zoom";
picture-uri = "none"; picture-uri = "none";
picture-uri-dark = "none"; picture-uri-dark = "none";
@@ -24,55 +16,54 @@
show-desktop-icons = false; show-desktop-icons = false;
}; };
# "org/gnome/desktop/input-sources" = { "org/gnome/desktop/default-applications/office/calendar" = {
# sources = [ exec = "${browser} https://calendar.proton.me";
# (mkTuple [ needs-term = false;
# "xkb" };
# "us"
# ]) "org/gnome/desktop/default-applications/office/tasks" = {
# ]; exec = "task";
# xkb-options = [ "caps:none" ]; needs-term = true;
# }; };
"org/gnome/desktop/default-applications/terminal" = {
exec = terminal;
exec-arg = "";
};
"org/gnome/desktop/input-sources" = {
xkb-options = [ "caps:none" ];
};
"org/gnome/desktop/interface" = {
clock-format = "24h";
clock-show-weekday = true;
color-scheme = "prefer-dark";
enable-hot-corners = false;
font-name = "Iosevka Term SS08 12";
locate-pointer = true;
monospace-font-name = "Iosevka Term SS08 12";
};
"org/gnome/desktop/wm/keybindings" = { "org/gnome/desktop/wm/keybindings" = {
close = [ "<Shift><Super>Delete" ]; close = [ "<Shift><Super>Delete" ];
cycle-group = [ ]; minimize = [ "<Super>h" ];
cycle-group-backward = [ ]; move-to-monitor-down = [ "<Super><Shift>Down" ];
cycle-panels = [ ]; move-to-monitor-left = [ "<Super><Shift>Left" ];
cycle-panels-backward = [ ]; move-to-monitor-right = [ "<Super><Shift>Right" ];
cycle-windows = [ ]; move-to-monitor-up = [ "<Super><Shift>Up" ];
cycle-windows-backward = [ ];
maximize = [ "<Super> " ];
minimize = [ ];
move-to-workspace-1 = [ "<Super><Shift>a" ]; move-to-workspace-1 = [ "<Super><Shift>a" ];
move-to-workspace-2 = [ "<Super><Shift>s" ]; move-to-workspace-2 = [ "<Super><Shift>s" ];
move-to-workspace-3 = [ "<Super><Shift>d" ]; move-to-workspace-3 = [ "<Super><Shift>d" ];
move-to-workspace-4 = [ "<Super><Shift>f" ]; move-to-workspace-4 = [ "<Super><Shift>f" ];
move-to-workspace-5 = [ "<Super><Shift>g" ]; move-to-workspace-5 = [ "<Super><Shift>g" ];
move-to-workspace-last = [ ];
move-to-workspace-left = [ "<Super><Shift>h" ];
move-to-workspace-right = [ "<Super><Shift>l" ];
panel-run-dialog = [ ];
switch-applications = [ "<Super>j" ]; switch-applications = [ "<Super>j" ];
switch-applications-backward = [ "<Super>k" ]; switch-applications-backward = [ "<Super>k" ];
switch-group = [ ];
switch-group-backward = [ ];
switch-input-source = [ ];
switch-input-source-backward = [ ];
switch-panels = [ ];
switch-panels-backward = [ ];
switch-to-workspace-1 = [ "<Super>a" ]; switch-to-workspace-1 = [ "<Super>a" ];
switch-to-workspace-2 = [ "<Super>s" ]; switch-to-workspace-2 = [ "<Super>s" ];
switch-to-workspace-3 = [ "<Super>d" ]; switch-to-workspace-3 = [ "<Super>d" ];
switch-to-workspace-4 = [ "<Super>f" ]; switch-to-workspace-4 = [ "<Super>f" ];
switch-to-workspace-5 = [ "<Super>g" ]; switch-to-workspace-5 = [ "<Super>g" ];
switch-to-workspace-last = [ ];
switch-to-workspace-left = [ "<Super>h" ];
switch-to-workspace-right = [ "<Super>l" ];
switch-windows = [ ];
switch-windows-backward = [ ];
toggle-maximized = [ "<Super>space" ];
unmaximize = [ ];
}; };
"org/gnome/desktop/wm/preferences" = { "org/gnome/desktop/wm/preferences" = {
@@ -86,8 +77,19 @@
]; ];
}; };
"org/gnome/mutter" = {
center-new-windows = true;
dynamic-workspaces = false;
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = true;
};
"org/gnome/settings-daemon/plugins/media-keys" = { "org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [ custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
]; ];
}; };
@@ -100,14 +102,23 @@
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>Return"; binding = "<Super>Return";
command = "kitty"; command = terminal;
name = "Kitty"; name = "Kitty";
}; };
"org/gnome/settings-daemon/plugins/power" = {
power-button-action = "suspend";
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/shell/keybindings" = { "org/gnome/shell/keybindings" = {
screenshot = [ "Print" ];
toggle-application-view = [ "<Super>p" ]; toggle-application-view = [ "<Super>p" ];
toggle-quick-settings = [ ]; toggle-quick-settings = [ ];
}; };
}; };
home.packages = with pkgs; [ dconf2nix ];
} }

24
home/modules/default.nix Normal file
View File

@@ -0,0 +1,24 @@
{ config, lib, ... }:
{
options.nixgl.wrap = lib.mkOption {
type = lib.types.functionTo lib.types.package;
default = if config.lib ? nixGL then config.lib.nixGL.wrap else lib.id;
readOnly = true;
};
options.wrapApp = lib.mkOption {
type = lib.types.raw;
default =
pkg: flags:
if config.lib ? nixGL then
pkg.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
wrapProgram $out/bin/${pkg.meta.mainProgram} --add-flags "${flags}"
'';
})
else
pkg;
readOnly = true;
};
}

View File

@@ -48,8 +48,7 @@ layout {
} }
} }
spawn-at-startup "wlsunset -l 51.05 -L 3.72"
spawn-at-startup "waybar"
hotkey-overlay { hotkey-overlay {
skip-at-startup skip-at-startup

View File

@@ -11,8 +11,16 @@
home = { home = {
file.".config/niri/config.kdl".source = ./config.kdl; file.".config/niri/config.kdl".source = ./config.kdl;
packages = with pkgs; [ packages = with pkgs; [
brightnessctl
wl-clipboard wl-clipboard
wlsunset wlsunset
]; ];
}; };
services.gammastep = {
enable = true;
provider = "manual";
latitude = 51.05;
longitude = 3.71667;
};
} }

View File

@@ -0,0 +1,7 @@
{
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
}

View File

@@ -0,0 +1,9 @@
{ pkgs, ... }:
{
config = {
home.packages = with pkgs; [
dive
];
};
}

View File

@@ -3,22 +3,9 @@
enable = true; enable = true;
settings = { settings = {
main = { main = {
font = "Iosevka Term SS08";
horizontal-pad = 0; horizontal-pad = 0;
vertical-pad = 0; vertical-pad = 0;
}; };
colors = {
background = "ccccccff";
text = "111111ff";
prompt = "ccccccff";
placeholder = "aaaaaaff";
input = "111111ff";
selection = "eeeeeeff";
selection-text = "111111ff";
selection-match = "333333ff";
counter = "111111ff";
border = "111111ff";
};
border = { border = {
width = 2; width = 2;
radius = 0; radius = 0;

View File

@@ -1,8 +0,0 @@
{
programs.git.enable = true;
home.file = {
".gitconfig".source = ../../dots/.gitconfig;
".gitconfig.work".source = ../../dots/.gitconfig.work;
".gitignore".source = ../../dots/.gitignore;
};
}

View File

@@ -0,0 +1,26 @@
{
config,
lib,
pkgs,
dotsPath,
...
}:
{
options = {
github.enable = lib.mkEnableOption "Github CLI";
gitlab.enable = lib.mkEnableOption "Gitlab CLI";
};
config = {
programs.git.enable = true;
home.file = {
".gitconfig".source = dotsPath + "/.gitconfig";
".gitconfig.work".source = dotsPath + "/.gitconfig.work";
".gitignore".source = dotsPath + "/.gitignore";
};
programs.gh.enable = config.github.enable;
home.packages = lib.optionals config.gitlab.enable [ pkgs.glab ];
};
}

View File

@@ -0,0 +1,18 @@
{
config,
lib,
pkgs,
...
}:
{
options.go = {
enable = lib.mkEnableOption "go language";
};
config = lib.mkIf config.go.enable {
home.packages = with pkgs; [
go
gopls
];
};
}

View File

@@ -0,0 +1,25 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
argocd
fluxcd
k3d
kubectl
kubernetes
kustomize
minikube
opentofu
upbound
];
programs.kubecolor = {
enable = true;
enableAlias = true;
};
imports = [
./helm.nix
./k9s.nix
];
}

15
home/modules/k8s/helm.nix Normal file
View File

@@ -0,0 +1,15 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(wrapHelm kubernetes-helm {
plugins = with kubernetes-helmPlugins; [
helm-diff
helm-git
helm-schema
helm-secrets
helm-unittest
];
})
];
}

View File

@@ -1,5 +1,3 @@
{ pkgs, ... }:
{ {
programs.keepassxc = { programs.keepassxc = {
enable = true; enable = true;
@@ -7,5 +5,4 @@
Browser.Enabled = true; Browser.Enabled = true;
}; };
}; };
# programs.firefox.nativeMessagingHosts = [ pkgs.keepassxc ]; # FIXME: Resolve 'Access error for config file $HOME/.config/keepassxc/keepassxc.ini' error
} }

22
home/modules/kitty.nix Normal file
View File

@@ -0,0 +1,22 @@
{
pkgs,
config,
dotsPath,
...
}:
{
config = {
programs.bash.shellAliases = {
icat = "kitty +kitten icat";
};
programs.kitty = {
enable = true;
package = config.nixgl.wrap pkgs.kitty;
extraConfig = builtins.readFile (dotsPath + "/.config/kitty/kitty.conf");
};
home.file.".config/kitty/nvim.conf".source = dotsPath + "/.config/kitty/nvim.conf";
};
}

View File

@@ -0,0 +1,27 @@
{
dotsPath,
pkgs,
...
}:
let
spotifyWithWayland = pkgs.symlinkJoin {
name = "spotify";
paths = [ pkgs.spotify ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/spotify \
--add-flags "--enable-features=UseOzonePlatform --ozone-platform=wayland"
'';
};
in
{
home.packages = with pkgs; [
spotifyWithWayland
];
programs.ncspot = {
enable = true;
settings = builtins.fromTOML (builtins.readFile (dotsPath + "/.config/ncspot/config.toml"));
};
}

View File

@@ -0,0 +1,5 @@
{
imports = [
./proxmark3.nix
];
}

View File

@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.nfc.proxmark3;
in
{
options.nfc.proxmark3 = {
enable = lib.mkEnableOption "proxmark3 (iceman fork)";
};
config = lib.mkIf cfg.enable {
home.packages = [
(pkgs.proxmark3.override { withGeneric = true; })
];
};
}

26
home/modules/nodejs.nix Normal file
View File

@@ -0,0 +1,26 @@
{
config,
lib,
pkgs,
...
}:
{
options.nodejs = {
enable = lib.mkEnableOption "nodejs (and related packages)";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.nodejs_24;
};
};
config = lib.mkIf config.nodejs.enable {
home.packages = with pkgs; [
config.nodejs.package
pnpm
yarn
biome
tsx
];
};
}

9
home/modules/nvim.nix Normal file
View File

@@ -0,0 +1,9 @@
{ pkgs, inputs, ... }:
{
config = {
home.packages = [
inputs.nvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim
];
};
}

19
home/modules/pandoc.nix Normal file
View File

@@ -0,0 +1,19 @@
{
config,
lib,
pkgs,
...
}:
{
options.pandoc = {
enable = lib.mkEnableOption "pandoc";
};
config = lib.mkIf config.pandoc.enable {
home.packages = with pkgs; [
haskellPackages.pandoc-crossref
pandoc
texliveSmall
];
};
}

View File

@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
darktable
];
}

View File

@@ -1,13 +1,12 @@
{ {
config, config,
lib, lib,
pkgs, dotsPath,
... ...
}: }:
let let
cfg = config.shell.bash; cfg = config.shell.bash;
username = config.home.username; inherit (config.home) username;
dotsPath = ../../../dots;
in in
{ {
options.shell.bash = { options.shell.bash = {

View File

@@ -3,5 +3,6 @@
./bash.nix ./bash.nix
./utils.nix ./utils.nix
./prompt.nix ./prompt.nix
../tmux.nix
]; ];
} }

View File

@@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: }:
{ {

View File

@@ -18,8 +18,25 @@ in
enable = true; enable = true;
enableDefaultConfig = false; enableDefaultConfig = false;
matchBlocks = lib.genAttrs hostsWithKeys (hostname: { matchBlocks =
lib.genAttrs hostsWithKeys (
hostname:
let
hostConfig = outputs.nixosConfigurations.${hostname}.config;
inherit (hostConfig.ssh) publicHostname username;
in
{
host = hostname; host = hostname;
}); user = username;
}
// lib.optionalAttrs (publicHostname != "") {
hostname = publicHostname;
}
)
// {
"*" = {
addKeysToAgent = "yes";
};
};
}; };
} }

45
home/modules/stylix.nix Normal file
View File

@@ -0,0 +1,45 @@
{
config,
inputs,
pkgs,
...
}:
let
theme = import ../../modules/stylix/theme.nix { inherit pkgs; };
in
{
imports = [ inputs.stylix.homeModules.stylix ];
stylix = {
enable = true;
inherit (theme)
polarity
base16Scheme
override
image
;
fonts = {
monospace = theme.monospaceFont;
serif = config.stylix.fonts.monospace;
sansSerif = config.stylix.fonts.monospace;
emoji = config.stylix.fonts.monospace;
};
targets = {
firefox = {
profileNames = [ "default" ];
colorTheme.enable = true;
};
librewolf = {
profileNames = [ "default" ];
colorTheme.enable = true;
};
gnome.enable = false;
gtk.enable = false;
kitty = {
variant256Colors = true;
};
nixvim.enable = false;
};
};
}

View File

@@ -2,6 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
dotsPath,
osConfig ? null, osConfig ? null,
... ...
}: }:
@@ -20,24 +21,34 @@ in
home.packages = with pkgs; [ home.packages = with pkgs; [
libnotify libnotify
taskopen
python3
]; ];
home.file = { home.file = {
".config/task/taskrc" = { ".config/task/taskrc" = {
force = true; # overwrite when present force = true; # overwrite when present
source = ../../dots/.config/task/taskrc; source = dotsPath + "/.config/task/taskrc";
}; };
".config/task/taskrc.d/aliases".source = ../../dots/.config/task/taskrc.d/aliases; ".config/task/taskrc.d/aliases".source = dotsPath + "/.config/task/taskrc.d/aliases";
".config/task/taskrc.d/colors".source = ../../dots/.config/task/taskrc.d/colors; ".config/task/taskrc.d/colors".source = dotsPath + "/.config/task/taskrc.d/colors";
".config/task/taskrc.d/contexts".source = ../../dots/.config/task/taskrc.d/contexts; ".config/task/taskrc.d/contexts".source = dotsPath + "/.config/task/taskrc.d/contexts";
".config/task/taskrc.d/reports".source = ../../dots/.config/task/taskrc.d/reports; ".config/task/taskrc.d/reports".source = dotsPath + "/.config/task/taskrc.d/reports";
".config/task/taskrc.d/udas".source = ../../dots/.config/task/taskrc.d/udas; ".config/task/taskrc.d/udas".source = dotsPath + "/.config/task/taskrc.d/udas";
".config/task/taskrc.d/urgency".source = ../../dots/.config/task/taskrc.d/urgency; ".config/task/taskrc.d/urgency".source = dotsPath + "/.config/task/taskrc.d/urgency";
".local/share/task/hooks/on-exit.sync.py" = { ".local/share/task/hooks/on-exit.sync.py" = {
source = ../../dots/.local/share/task/hooks/on-exit.sync.py; source = dotsPath + "/.local/share/task/hooks/on-exit.sync.py";
};
".local/share/task/hooks/on-add.limit.py" = {
source = dotsPath + "/.local/share/task/hooks/on-add.limit.py";
executable = true;
};
".local/share/task/hooks/on-modify.limit.py" = {
source = dotsPath + "/.local/share/task/hooks/on-modify.limit.py";
executable = true;
}; };
".local/share/task/scripts/sync-and-notify.sh" = { ".local/share/task/scripts/sync-and-notify.sh" = {
source = ../../dots/.local/share/task/scripts/sync-and-notify.sh; source = dotsPath + "/.local/share/task/scripts/sync-and-notify.sh";
executable = true; executable = true;
}; };
}; };

19
home/modules/tmux.nix Normal file
View File

@@ -0,0 +1,19 @@
{ pkgs, dotsPath, ... }:
{
config = {
home.packages = with pkgs; [
tmuxp
reptyr
];
programs.tmux = {
enable = true;
extraConfig = builtins.readFile (dotsPath + "/.config/tmux/tmux.conf");
};
home.file = {
".config/tmux/hooks/tmux.ssh.conf".source = dotsPath + "/.config/tmux/hooks/tmux.ssh.conf";
};
};
}

7
home/modules/vscode.nix Normal file
View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
config = {
home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.vscode "--disable-gpu-sandbox")) ];
};
}

View File

@@ -1,57 +0,0 @@
[
{
"height": 16,
"spacing": 4,
"modules-left": ["niri/workspaces"],
"modules-right": [
"pulseaudio",
"memory",
"cpu",
"network",
"clock",
"battery",
],
"clock": {
"format": "W{:%V %d %b %H:%M}",
"tooltip-format": "{calendar}",
"format-alt": "{:%Y-%m-%d %H:%M:%S}",
},
"battery": {
"bat": "BAT0",
"adapter": "ADP1",
"interval": 5,
"full-at": 99,
"states": {
"good": 80,
"warning": 20,
"critical": 10,
},
"format": "{capacity}%--",
"format-charging": "{capacity}%++",
"format-plugged": "{capacity}%",
"format-alt": "{time} {power}W",
},
"pulseaudio": {
"format": "VOL {volume}%",
"format-muted": "muted",
"on-click": "pavucontrol",
},
"memory": {
"interval": 2,
"format": "RAM {percentage}%",
"format-alt": "RAM {used:0.1f}G/{total:0.1f}G",
},
"cpu": {
"interval": 2,
"format": "CPU {usage}%",
"format-alt": "CPU {avg_frequency}GHz",
},
"network": {
"interval": 5,
"format-wifi": "{ifname} {ipaddr} {essid}",
"format-ethernet": "{ifname} {ipaddr}",
"format-disconnected": "{ifname} disconnected",
"tooltip-format": "{ifname}: {ipaddr}/{cidr}",
},
},
]

View File

@@ -1,8 +1,68 @@
{
lib,
...
}:
{ {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
settings = [
{
height = 16;
spacing = 4;
modules-left = [ "niri/workspaces" ];
modules-right = [
"pulseaudio"
"memory"
"cpu"
"network"
"clock"
"battery"
];
clock = {
format = "W{:%V %d %b %H:%M}";
tooltip-format = "{calendar}";
format-alt = "{:%Y-%m-%d %H:%M:%S}";
};
battery = {
bat = "BAT0";
adapter = "ADP1";
interval = 5;
full-at = 99;
states = {
good = 80;
warning = 20;
critical = 10;
};
format = "{capacity}%--";
format-charging = "{capacity}%++";
format-plugged = "{capacity}%";
format-alt = "{time} {power}W";
};
pulseaudio = {
format = "VOL {volume}%";
format-muted = "muted";
on-click = "pavucontrol";
};
memory = {
interval = 2;
format = "RAM {percentage}%";
format-alt = "RAM {used:0.1f}G/{total:0.1f}G";
};
cpu = {
interval = 2;
format = "CPU {usage}%";
format-alt = "CPU {avg_frequency}GHz";
};
network = {
interval = 5;
format-wifi = "{ifname} {ipaddr} {essid}";
format-ethernet = "{ifname} {ipaddr}";
format-disconnected = "{ifname} disconnected";
tooltip-format = "{ifname}: {ipaddr}/{cidr}";
};
}
];
style = lib.readFile ./style.css;
}; };
home.file.".config/waybar/config.jsonc".source = ./config.jsonc;
home.file.".config/waybar/style.css".source = ./style.css;
} }

View File

@@ -1,8 +1,4 @@
* { * {
font-family:
Iosevka Term SS08,
monospace;
font-size: 12px;
border-radius: 0px; border-radius: 0px;
} }
@@ -22,21 +18,22 @@ window#waybar.hidden {
} }
#workspaces button { #workspaces button {
color: @base07;
padding: 0; padding: 0;
background-color: transparent; background-color: transparent;
} }
#workspaces button:hover { #workspaces button:hover {
background: #000000; background: @base00;
} }
#workspaces button.focused, #workspaces button.focused,
#workspaces button.active { #workspaces button.active {
background-color: #111111; background-color: @base01;
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: #eb4d4b; background-color: @base08;
} }
#clock, #clock,
@@ -46,8 +43,8 @@ window#waybar.hidden {
#cpu, #cpu,
#network { #network {
padding: 0 4px; padding: 0 4px;
color: #ffffff; color: @base07;
background-color: #111111; background-color: @base01;
} }
#window, #window,

View File

@@ -1,11 +1,11 @@
{ {
lib, lib,
inputs, inputs,
outputs,
config, config,
pkgs, pkgs,
... ...
}: }:
let let
username = "h"; username = "h";
hostName = "andromache"; hostName = "andromache";
@@ -13,8 +13,12 @@ let
in in
{ {
imports = [ imports = [
inputs.disko.nixosModules.disko
../../modules/common ../../modules/common
./hard.nix ./hard.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
../../modules/boot/bootloader.nix ../../modules/boot/bootloader.nix
(import ../../modules/disko/zfs-encrypted-root.nix { (import ../../modules/disko/zfs-encrypted-root.nix {
@@ -22,16 +26,22 @@ in
device = "/dev/nvme1n1"; device = "/dev/nvme1n1";
}) })
../../modules/desktops/niri ../../modules/desktops/niri
../../modules/backups
../../modules/bluetooth ../../modules/bluetooth
../../modules/gaming
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = hostName; }) (import ../../modules/networking { inherit hostName; })
../../modules/users ../../modules/users
../../modules/audio ../../modules/audio
../../modules/localization ../../modules/localization
../../modules/fonts ../../modules/fonts
../../modules/ssh/hardened-openssh.nix ../../modules/ssh/hardened-openssh.nix
../../modules/storage
../../modules/stylix
(import ../../modules/secrets { inherit lib inputs config; }) (import ../../modules/secrets { inherit lib inputs config; })
../../modules/docker ../../modules/docker
../../modules/syncthing
../../modules/nvidia
]; ];
home-manager.users.${username} = import ../../home/hosts/andromache { home-manager.users.${username} = import ../../home/hosts/andromache {
@@ -51,6 +61,8 @@ in
secrets.username = username; secrets.username = username;
docker.user = username; docker.user = username;
nix.settings.secret-key-files = [ config.sops.secrets.nix_signing_key_andromache.path ];
disko.devices = { disko.devices = {
disk.data = { disk.data = {
type = "disk"; type = "disk";
@@ -71,53 +83,24 @@ in
}; };
}; };
hardware = { hardware.cpu.intel.updateMicrocode = true;
cpu.intel.updateMicrocode = true;
graphics.enable = true; boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
environment.systemPackages = [ environment.systemPackages = [
inputs.nvim.packages.x86_64-linux.nvim inputs.colmena.packages.${pkgs.stdenv.hostPlatform.system}.colmena
]; ];
services.xserver = { services = {
videoDrivers = [ "nvidia" ]; locate = {
enable = true;
package = pkgs.plocate;
}; };
services.openssh = { openssh = {
enable = true; enable = true;
harden = true; harden = true;
}; };
services.syncthing = {
enable = true;
openDefaultPorts = true;
settings = {
devices = {
# "device1" = {
# id = "DEVICE-ID-GOES-HERE";
# };
};
folders = {
"/home/${username}/sync" = {
id = "sync";
devices = [ ];
};
};
};
};
services.locate = {
enable = true;
package = pkgs.plocate;
}; };
networking = { networking = {
@@ -126,7 +109,7 @@ in
interfaces = { interfaces = {
eno1 = { eno1 = {
wakeOnLan.enable = true; wakeOnLan.enable = true;
macAddress = wolInterfaces.eno1.macAddress; inherit (wolInterfaces.eno1) macAddress;
}; };
}; };
firewall = { firewall = {

View File

@@ -4,7 +4,6 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: }:
@@ -14,7 +13,8 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd.availableKernelModules = [
"vmd" "vmd"
"xhci_pci" "xhci_pci"
"ahci" "ahci"
@@ -24,9 +24,10 @@
"uas" "uas"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -0,0 +1 @@
"x86_64-linux"

View File

@@ -1,7 +1,6 @@
{ {
lib, lib,
inputs, inputs,
outputs,
config, config,
pkgs, pkgs,
... ...
@@ -13,9 +12,12 @@ let
in in
{ {
imports = [ imports = [
inputs.disko.nixosModules.disko
../../modules/common ../../modules/common
./hard.nix ./hard.nix
# inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
# inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel-gen7 (not available yet?)
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
../../modules/boot/bootloader.nix ../../modules/boot/bootloader.nix
(import ../../modules/disko/zfs-encrypted-root.nix { (import ../../modules/disko/zfs-encrypted-root.nix {
@@ -23,17 +25,21 @@ in
device = "/dev/nvme0n1"; device = "/dev/nvme0n1";
}) })
../../modules/desktops/niri ../../modules/desktops/niri
../../modules/audio
../../modules/audio-automation
../../modules/backups
../../modules/bluetooth ../../modules/bluetooth
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = hostName; }) (import ../../modules/networking { inherit hostName; })
../../modules/users ../../modules/users
../../modules/audio
../../modules/localization ../../modules/localization
../../modules/fonts ../../modules/fonts
../../modules/ssh/hardened-openssh.nix ../../modules/ssh/hardened-openssh.nix
../../modules/vpn/wireguard.nix ../../modules/storage
../../modules/stylix
(import ../../modules/secrets { inherit lib inputs config; }) (import ../../modules/secrets { inherit lib inputs config; })
../../modules/docker ../../modules/docker
../../modules/nfc
]; ];
home-manager.users.${username} = import ../../home/hosts/astyanax { home-manager.users.${username} = import ../../home/hosts/astyanax {
@@ -52,6 +58,10 @@ in
secrets.username = username; secrets.username = username;
docker.user = username; docker.user = username;
nfc.user = username;
desktop.ly.enable = true;
nix.settings.secret-key-files = [ config.sops.secrets.nix_signing_key_astyanax.path ];
hardware = { hardware = {
cpu.intel.updateMicrocode = true; cpu.intel.updateMicrocode = true;
@@ -71,7 +81,7 @@ in
}; };
environment.systemPackages = [ environment.systemPackages = [
inputs.nvim.packages.x86_64-linux.nvim inputs.colmena.packages.${pkgs.stdenv.hostPlatform.system}.colmena
(pkgs.writeShellApplication { (pkgs.writeShellApplication {
name = "wol-andromache"; name = "wol-andromache";
runtimeInputs = [ pkgs.wakeonlan ]; runtimeInputs = [ pkgs.wakeonlan ];
@@ -86,30 +96,32 @@ in
hostId = "80eef97e"; hostId = "80eef97e";
}; };
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
services = { services = {
fwupd.enable = true; fwupd.enable = true;
openssh = { openssh = {
enable = true; enable = true;
harden = true; harden = true;
}; };
syncthing = {
enable = true;
openDefaultPorts = true;
folders = {
"/home/h/sync" = {
id = "sync";
devices = [ ];
};
};
devices = {
# "device1" = {
# id = "DEVICE-ID-GOES-HERE";
# };
};
};
locate = { locate = {
enable = true; enable = true;
package = pkgs.plocate; package = pkgs.plocate;
}; };
tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
};
};
}; };
} }

View File

@@ -4,7 +4,6 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: }:
@@ -14,16 +13,18 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
"thunderbolt" "thunderbolt"
"nvme" "nvme"
"uas" "uas"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -0,0 +1 @@
"x86_64-linux"

View File

@@ -0,0 +1,86 @@
{ pkgs, ... }:
# Raspberry Pi 3
# See <https://nixos.wiki/wiki/NixOS_on_ARM/Raspberry_Pi_3>
let
username = "h";
hostName = "eetion-02";
in
{
imports = [
./hard.nix
../../modules/ssh/hardened-openssh.nix
];
ssh = {
inherit username;
publicHostname = "eetion-02";
authorizedHosts = [
"andromache"
"astyanax"
];
};
boot = {
kernelParams = [
"console=ttyS1,115200n8"
];
kernel.sysctl."net.ipv4.ip_forward" = 1;
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
};
hardware.enableRedistributableFirmware = true;
networking = {
inherit hostName;
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [
80
443
];
};
};
users.users = {
root.hashedPassword = "!";
${username} = {
isNormalUser = true;
extraGroups = [ "wheel" ];
};
};
security.sudo.wheelNeedsPassword = false;
services = {
openssh = {
enable = true;
harden = true;
};
};
environment.systemPackages = with pkgs; [
vim
git
];
nix.settings = {
experimental-features = [
"nix-command"
"flakes"
];
trusted-users = [
"root"
"@wheel"
];
};
system.stateVersion = "26.05";
}

24
hosts/eetion-02/hard.nix Normal file
View File

@@ -0,0 +1,24 @@
{ lib, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd.availableKernelModules = [ ];
initrd.kernelModules = [ ];
kernelModules = [ ];
extraModulePackages = [ ];
};
fileSystems."/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
}

View File

@@ -0,0 +1 @@
"aarch64-linux"

Some files were not shown because too many files have changed in this diff Show More