178 Commits

Author SHA1 Message Date
b36895f108 mail and username config 2025-02-16 10:48:31 -05:00
617fc6cce2 more adjustments 2025-02-15 20:26:14 -05:00
2425c76a84 more tweaks to overlays 2025-02-15 13:59:17 -05:00
798bac75e8 more rearchitecting folders 2025-02-14 15:36:54 -05:00
c7f20e958b remove inputs 2025-02-08 20:14:54 -05:00
59a52dc033 move inherits and add attrset for imports 2025-02-08 13:22:33 -05:00
6217871960 hostnames move 2025-02-08 13:01:16 -05:00
61b1ceffd9 hostnames and user settings 2025-02-08 12:58:06 -05:00
9c5de4c54f mail stuff 2025-02-08 09:27:18 -05:00
1e5fd5d9ae move around experimental programs 2025-02-07 13:30:26 -05:00
620c72f731 more updates 2025-02-05 17:25:29 -05:00
bb1a36330b neovim first init 2025-02-04 21:57:59 -05:00
8819bb9b9b more changes 2025-02-03 17:30:32 -05:00
6f2b2a7694 fish functions and user key bindings 2025-02-02 21:45:34 -05:00
1226eafef2 more stuff 2025-02-01 16:10:16 -05:00
ea3ab18cca fixing up i3 and terminal inputs 2025-02-01 09:58:55 -05:00
f77f0c2fd6 more updates 2025-01-31 18:28:24 -05:00
e1f987e83b backups and fish functions 2025-01-31 15:40:41 -05:00
b123ae3e69 packaging stuff up 2025-01-30 14:48:17 -05:00
0ebd0bac2c continuing dev 2025-01-29 21:12:58 -05:00
c7933f8502 initial refactoring 2025-01-28 18:24:07 -05:00
a4b5e05f8f switch from geoclue to tzupdate for localtime since geoclue isn't working 2025-01-19 17:44:00 -05:00
83f548e95f fix: power button immediately shuts down pc 2025-01-19 20:07:12 +00:00
c66ca460c0 fix: desktop won't launch if xrandr fails 2025-01-19 20:06:33 +00:00
2b36140fbf flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e' (2025-01-08)
  → 'github:lnl7/nix-darwin/87131f51f8256952d1a306b5521cedc2dc61aa08' (2025-01-18)
• Updated input 'disko':
    'github:nix-community/disko/b1a94497b1c27fe7f81e3e76990959f5051da18b' (2025-01-10)
  → 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2' (2025-01-16)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/fb3332f1796317224b4a2886815491fa9c63266f' (2025-01-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/3224752c71a5245e90cfae360e0dc5de98e2b53c' (2025-01-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc' (2025-01-10)
  → 'github:nix-community/home-manager/a0046af169ce7b1da503974e1b22c48ef4d71887' (2025-01-17)
• Updated input 'jujutsu':
    'github:martinvonz/jj/98724278c5f1344baf3b5c27396aa3e10decec8b' (2025-01-11)
  → 'github:martinvonz/jj/83d40d2c425fa2e050bdac8837b19e5beb3bef25' (2025-01-18)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-11)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-18)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4' (2024-12-23)
  → 'github:nix-community/nixos-generators/d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453' (2025-01-16)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c' (2024-12-22)
  → 'github:nix-community/nixpkgs.lib/1418bc28a52126761c02dd3d89b2d8ca0f521181' (2025-01-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nur':
    'github:nix-community/nur/82ecbe2706b9dc7a5f138bed1f7a933611085421' (2025-01-11)
  → 'github:nix-community/nur/62cdd681201843553ec740a85ccf2f0a6fca75c6' (2025-01-18)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/68fc4c20f5803444277022c681785c5edd11916d' (2024-12-21)
  → 'github:kyazdani42/nvim-tree.lua/fca0b67c0b5a31727fb33addc4d9c100736a2894' (2025-01-17)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/6b40143750d7db53ae0fb2ef8a0bec8be009291b' (2025-01-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8' (2025-01-15)
2025-01-18 03:44:41 +00:00
66207830ba add backups for actual budget 2025-01-14 04:30:14 +00:00
0f7c15bf36 backup paperless and adjust restic bucket 2025-01-14 04:25:41 +00:00
d31a083ed6 add monitorcontrol for macos external displays 2025-01-11 15:08:16 -05:00
148839b0ab fix: gh-collaborators vendor hash outdated 2025-01-11 15:08:08 -05:00
7714635fa0 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/3feaf376d75d3d58ebf7e9a4f584d00628548ad9' (2025-01-04)
  → 'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e' (2025-01-08)
• Updated input 'disko':
    'github:nix-community/disko/84a5b93637cc16cbfcc61b6e1684d626df61eb21' (2024-12-29)
  → 'github:nix-community/disko/b1a94497b1c27fe7f81e3e76990959f5051da18b' (2025-01-10)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/72ce135b49236c110d86bce6e6d25bfafcc2158d' (2025-01-04)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/fb3332f1796317224b4a2886815491fa9c63266f' (2025-01-11)
• Updated input 'gh-collaborators':
    'github:katiem0/gh-collaborators/4dfcd0b5c2e31f2d0fbfd4b83fdfae787a5e6ff8' (2024-05-31)
  → 'github:katiem0/gh-collaborators/bf412dde50605e48af86f291c2ac8714f2c1b228' (2025-01-06)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a9987622b7b93c82e147f198574e8e6ffbf5e327' (2025-01-03)
  → 'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc' (2025-01-10)
• Updated input 'jujutsu':
    'github:martinvonz/jj/1ddfc59ee95d680ccbd0cfcbcf86c9202f8e44ca' (2025-01-03)
  → 'github:martinvonz/jj/98724278c5f1344baf3b5c27396aa3e10decec8b' (2025-01-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-04)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
  → 'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
• Updated input 'nur':
    'github:nix-community/nur/b085ce9e13651cc235ca993af7a5b09990d27807' (2025-01-04)
  → 'github:nix-community/nur/82ecbe2706b9dc7a5f138bed1f7a933611085421' (2025-01-11)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
  → 'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55' (2024-12-19)
  → 'github:mfussenegger/nvim-lint/dfa45de973c3ce7bd1b9a6d346f896a68ad07e44' (2025-01-06)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/2550012916d4fb21d6d1c7a88a9bddde651bb1f0' (2024-12-23)
  → 'github:leath-dub/snipe.nvim/0d0a482ac713370196e4fc0025d5aaac5030104d' (2025-01-05)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/867902d5974a18c156c918ab8addbf091719de27' (2024-12-30)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/6b40143750d7db53ae0fb2ef8a0bec8be009291b' (2025-01-10)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/bffb65a8cfe4e46290331dfef0dbf0ef3679de11' (2024-12-22)
  → 'github:tree-sitter/tree-sitter-python/409b5d671eb0ea4972eeacaaca24bbec1acf79b1' (2025-01-07)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/dee4425dcee3149475ead0cb6a616b8a028c5888' (2024-12-10)
  → 'github:nix-community/NixOS-WSL/63c3b4ed1712a3a0621002cd59bfdc80875ecbb0' (2025-01-05)
• Removed input 'wsl/flake-utils'
• Removed input 'wsl/flake-utils/systems'
2025-01-11 03:47:43 +00:00
ca6c275cd8 pin actual-budget to specific version 2025-01-07 19:29:05 +00:00
54a897abb6 add back epic games to lookingglass 2025-01-06 15:45:25 -05:00
45eb33485d temp: disable teams 2025-01-06 11:03:48 -05:00
cbdf17f618 change name of macbook to match required name 2025-01-06 09:57:16 -05:00
fdf231b46e add spacer program for shell output 2025-01-06 09:57:16 -05:00
e9d611fc03 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8' (2024-12-07)
  → 'github:lnl7/nix-darwin/3feaf376d75d3d58ebf7e9a4f584d00628548ad9' (2025-01-04)
• Updated input 'disko':
    'github:nix-community/disko/d32f2d1750d61a476a236526b725ec5a32e16342' (2024-12-13)
  → 'github:nix-community/disko/84a5b93637cc16cbfcc61b6e1684d626df61eb21' (2024-12-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ea00de0cb507b4f8c478c19a2d4842a51d1e32c' (2024-12-13)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/72ce135b49236c110d86bce6e6d25bfafcc2158d' (2025-01-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/66c5d8b62818ec4c1edb3e941f55ef78df8141a8' (2024-12-13)
  → 'github:nix-community/home-manager/a9987622b7b93c82e147f198574e8e6ffbf5e327' (2025-01-03)
• Updated input 'jujutsu':
    'github:martinvonz/jj/cf6711437f5843cfe2ba3e0572d985a83b70e383' (2024-12-14)
  → 'github:martinvonz/jj/1ddfc59ee95d680ccbd0cfcbcf86c9202f8e44ca' (2025-01-03)
• Updated input 'jujutsu/rust-overlay':
    'github:oxalica/rust-overlay/a229311fcb45b88a95fdfa5cecd8349c809a272a' (2024-11-22)
  → 'github:oxalica/rust-overlay/04d5f1836721461b256ec452883362c5edc5288e' (2025-01-02)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-12-14)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-04)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d162ffdf0a30f3d19e67df5091d6744ab8b9229f' (2024-12-12)
  → 'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4' (2024-12-23)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b' (2024-12-08)
  → 'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c' (2024-12-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
  → 'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/64e9404f308e0f0a0d8cdd7c358f74e34802494b' (2024-12-12)
  → 'github:nixos/nixpkgs/b134951a4c9f3c995fd7be05f3243f8ecd65d798' (2024-12-30)
• Updated input 'nur':
    'github:nix-community/nur/d6b5477eea757f5cae03c47da3fbe2f7be0b9f17' (2024-12-14)
  → 'github:nix-community/nur/b085ce9e13651cc235ca993af7a5b09990d27807' (2025-01-04)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
  → 'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/6b46370d02cd001509a765591a3ffc481b538794' (2024-11-22)
  → 'github:mfussenegger/nvim-lint/1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55' (2024-12-19)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8' (2024-12-13)
  → 'github:kyazdani42/nvim-tree.lua/68fc4c20f5803444277022c681785c5edd11916d' (2024-12-21)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/7d6dc06b90bad922e568f39bdae3d111282c7429' (2024-12-10)
  → 'github:leath-dub/snipe.nvim/2550012916d4fb21d6d1c7a88a9bddde651bb1f0' (2024-12-23)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/35d46e3804c9211f2e9860e8eff5e7d0905b8254' (2024-12-11)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/867902d5974a18c156c918ab8addbf091719de27' (2024-12-30)
• Updated input 'tree-sitter-puppet':
    'github:amaanq/tree-sitter-puppet/584522f32495d648b18a53ccb52d988e60de127d' (2024-04-20)
  → 'github:amaanq/tree-sitter-puppet/15f192929b7d317f5914de2b4accd37b349182a6' (2024-12-22)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/1ee3e775477f913ae3a46cde7a6a512deb06052c' (2024-12-05)
  → 'github:tree-sitter/tree-sitter-python/bffb65a8cfe4e46290331dfef0dbf0ef3679de11' (2024-12-22)
2025-01-04 03:46:51 +00:00
f899a76f7f remove disko overlay 2025-01-02 14:19:57 -05:00
aa93604a6a attempt to fix volnoti removal 2025-01-02 13:09:15 -05:00
6d8fb63d54 setup actualbudget service 2024-12-26 21:49:24 +00:00
1cb5827438 fix: forgot gruvbox-dark on flame 2024-12-25 21:13:56 +00:00
fccee387b8 tweaks for working on a new macbook 2024-12-17 08:21:36 -05:00
6f22a3031b save slack theme to comment 2024-12-16 16:07:53 -05:00
185258ad8a keep hostname as lookingglass 2024-12-16 14:23:13 -05:00
b69a9a2de7 use nerd-fonts subpackage 2024-12-16 14:20:54 -05:00
f16859893d add terminal options for darwin 2024-12-16 14:19:06 -05:00
b668c991c8 move glacierbucket option away from global 2024-12-16 14:16:34 -05:00
405b1ce60f adjust lookingglass computer name 2024-12-16 14:08:29 -05:00
e6f5649999 offline rebuild in new abbr 2024-12-16 13:43:57 -05:00
ef03bb112d flake.lock: Update
Flake lock file updates:

• Updated input 'cmp-nvim-lsp-src':
    'github:hrsh7th/cmp-nvim-lsp/39e2eda76828d88b773cc27a3f61d2ad782c922d' (2024-05-17)
  → 'github:hrsh7th/cmp-nvim-lsp/99290b3ec1322070bcfb9e846450a46f6efa50f0' (2024-12-10)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/55d07816a0944f06a9df5ef174999a72fa4060c7' (2024-12-04)
  → 'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8' (2024-12-07)
• Updated input 'disko':
    'github:nix-community/disko/785c1e02c7e465375df971949b8dcbde9ec362e5' (2024-12-02)
  → 'github:nix-community/disko/d32f2d1750d61a476a236526b725ec5a32e16342' (2024-12-13)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/f47d62eed12552182bde1fd03716edbeb581bb6e' (2024-12-07)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/6ea00de0cb507b4f8c478c19a2d4842a51d1e32c' (2024-12-13)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a' (2024-12-06)
  → 'github:nix-community/home-manager/66c5d8b62818ec4c1edb3e941f55ef78df8141a8' (2024-12-13)
• Updated input 'jujutsu':
    'github:martinvonz/jj/da3c75b3cb09d1ae98a3e07c54b6a0f06ff70ed4' (2024-12-07)
  → 'github:martinvonz/jj/cf6711437f5843cfe2ba3e0572d985a83b70e383' (2024-12-14)
• Updated input 'nextcloud-external':
    'https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz?narHash=sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM%3D' (2024-10-21)
  → 'https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz?narHash=sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM%3D' (2024-10-21)
• Updated input 'nextcloud-news':
    'https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz?narHash=sha256-pnvyMZQ%2BNYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI%3D' (2024-10-23)
  → 'https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz?narHash=sha256-pnvyMZQ%2BNYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI%3D' (2024-10-23)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-10-09)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-12-14)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/8cdaf8885c9c85d9d27b594dbe882406aadfe00e' (2024-12-05)
  → 'github:nix-community/nixos-generators/d162ffdf0a30f3d19e67df5091d6744ab8b9229f' (2024-12-12)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0e4fdd4a0ab733276b6d2274ff84ae353f17129e' (2024-12-01)
  → 'github:nix-community/nixpkgs.lib/f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b' (2024-12-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d0797a04b81caeae77bcff10a9dde78bc17f5661' (2024-12-05)
  → 'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/bcb68885668cccec12276bbb379f8f2557aa06ce' (2024-12-03)
  → 'github:nixos/nixpkgs/64e9404f308e0f0a0d8cdd7c358f74e34802494b' (2024-12-12)
• Updated input 'nur':
    'github:nix-community/nur/b35bbebaf9637f6a10e7a368981fc9ff69d07374' (2024-12-07)
  → 'github:nix-community/nur/d6b5477eea757f5cae03c47da3fbe2f7be0b9f17' (2024-12-14)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776' (2024-12-03)
  → 'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ca7c4c33cac2ad66ec69d45e465379716ef0cc97' (2024-11-24)
  → 'github:kyazdani42/nvim-tree.lua/f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8' (2024-12-13)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/be443a02ca6fd1f331a0645d4a904a59ec302070' (2024-12-06)
  → 'github:leath-dub/snipe.nvim/7d6dc06b90bad922e568f39bdae3d111282c7429' (2024-12-10)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/32c7e2eb8f36792056328e6c239d6365de9f8c7d' (2024-12-06)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/35d46e3804c9211f2e9860e8eff5e7d0905b8254' (2024-12-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/dd20ebde771edbdececade73dbb8791ff987d0db' (2024-12-06)
  → 'github:nix-community/NixOS-WSL/dee4425dcee3149475ead0cb6a616b8a028c5888' (2024-12-10)
• Updated input 'wsl/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
  → 'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec' (2024-12-04)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
2024-12-14 03:55:03 +00:00
da172aaa66 new monitor 2024-12-12 22:39:04 -05:00
11625adbe8 fix to aerc running with kitty instead of wezterm 2024-12-12 20:52:27 -05:00
b691895e05 add restic backups to s3 for immich 2024-12-12 15:11:35 +00:00
66ef1fa38d move filebrowser to shared group and fix path issue 2024-12-09 15:04:41 +00:00
30cc02c2a7 change from media group to shared group 2024-12-08 23:53:10 +00:00
0d3e42be3f fix: neovim nvim-cmp not found in new update 2024-12-08 11:43:47 -05:00
61ab3e1b3f add more fixes to flake update 2024-12-07 20:19:03 -05:00
bc604bc2ce update flake and fix issues with latest packages 2024-12-07 20:18:30 -05:00
39f80ea79a fix: issue with nix shell registry
fixes https://github.com/nmasur/dotfiles/issues/98
2024-12-06 20:49:34 -05:00
6ca944fe42 add local domain resolution for immich 2024-12-07 00:20:12 +00:00
28ffa10a59 add github copilot extension to gh cli 2024-12-05 17:02:46 -05:00
006554f545 switch rebuild-nixos to smarter abbreviation 2024-12-05 22:00:14 +00:00
1b04f9a883 add immich 2024-12-05 21:58:46 +00:00
00f23f4b9c create shared group for all server services to manage all files 2024-12-05 21:58:18 +00:00
9b948f45ee fix: fzf editing files with spaces in path name 2024-12-05 14:44:49 -05:00
1f0ee6b27f fix: volnoti stopped working 2024-12-03 23:31:59 -05:00
3348bd0b39 remove kitty from aerc 2024-12-03 22:50:26 -05:00
780ff152c8 fix: promscrape maxscrapesize no longer valid 2024-12-03 22:50:01 -05:00
d61ac18707 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
  → 'github:lnl7/nix-darwin/6ab87b7c84d4ee873e937108c4ff80c015a40c7a' (2024-11-26)
• Updated input 'disko':
    'github:nix-community/disko/abc8baff333ac9dca930fc4921a26a8fc248e442' (2024-11-22)
  → 'github:nix-community/disko/b71e3faca99b40fb801f03fd950fbefbbba691a4' (2024-11-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/667a63b43f16c94dec474a902c85ebcfa9f5aaac' (2024-11-23)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/7b091902ef4ad7d2fff4201b1b9471c1b4243f83' (2024-11-30)
• Updated input 'home-manager':
    'github:nix-community/home-manager/8cf9cb2ee78aa129e5b8220135a511a2be254c0c' (2024-11-22)
  → 'github:nix-community/home-manager/819f682269f4e002884702b87e445c82840c68f2' (2024-11-29)
• Updated input 'jujutsu':
    'github:martinvonz/jj/a5c96bcf701d3c1c3f568cae4a4f34913bd63d8b' (2024-11-23)
  → 'github:martinvonz/jj/0ca6f00421f6f893e974e0f5349e126abd41a812' (2024-11-30)
• Updated input 'jujutsu/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'jujutsu/rust-overlay':
    'github:oxalica/rust-overlay/b259ef799b5ac014604da71ecd92d4a52603ed2d' (2024-10-19)
  → 'github:oxalica/rust-overlay/a229311fcb45b88a95fdfa5cecd8349c809a272a' (2024-11-22)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/9ef4d1c14dab18a95691602bf541cd091fdcc2e3' (2024-11-12)
  → 'github:hraban/mac-app-util/548672d0cb661ce11d08ee8bde92b87d2a75c872' (2024-11-29)
• Updated input 'mac-app-util/cl-nix-lite':
    'github:hraban/cl-nix-lite/cc920bfb0a6402d3871f470c98d65266126973e4' (2024-06-09)
  → 'github:hraban/cl-nix-lite/31cfe6275c341eb3120a99f4b1c8516c49a29d87' (2024-10-06)
• Updated input 'mac-app-util/flake-compat':
    'github:hraban/flake-compat/6025bade1336a36014639bc3f67eacc853dab78f' (2023-10-20)
  → 'github:hraban/flake-compat/e5b16676185cb7548581c852f51ce7f3a49bba5e' (2024-11-03)
• Updated input 'mac-app-util/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'mac-app-util/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
  → follows 'mac-app-util/systems'
• Added input 'mac-app-util/systems':
    'github:nix-systems/default-darwin/2235d7e6cc29ae99878133c95e9fe5e157661ffb' (2023-07-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-23)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-30)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/b3900e6d79233573f318006505d9ad3fb7170b92' (2024-10-16)
  → 'github:gytis-ivaskevicius/nix2vim/e2c511ea553418dd432005875c649b09d56b7e58' (2024-11-28)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c' (2024-11-21)
  → 'github:nix-community/nixos-generators/098e8b6ff72c86944a8d54b64ddd7b7e6635830a' (2024-11-25)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/b9f04e3cf71c23bea21d2768051e6b3068d44734' (2024-11-17)
  → 'github:nix-community/nixpkgs.lib/87b6978992e2eb605732fba842cad0a7e14b2047' (2024-11-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
  → 'github:nixos/nixpkgs/4633a7c72337ea8fd23a4f2ba3972865e3ec685d' (2024-11-25)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
  → 'github:nixos/nixpkgs/0c5b4ecbed5b155b705336aa96d878e55acd8685' (2024-11-27)
• Updated input 'nur':
    'github:nix-community/nur/1bfee5e55992301948598f3bb5192e58dfb53cc2' (2024-11-23)
  → 'github:nix-community/nur/954f3b73ddae61755abe0e9bbc40ba6d68a6a22d' (2024-11-30)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/1f3ffd6af145af2a4930a61c50f763264922c3fe' (2024-11-21)
  → 'github:kyazdani42/nvim-tree.lua/ca7c4c33cac2ad66ec69d45e465379716ef0cc97' (2024-11-24)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/19aa24b628bba5846032b977cdedc02219867213' (2024-11-20)
  → 'github:leath-dub/snipe.nvim/3d560dcac1cda409f5f6adf17b8003df3ab85eee' (2024-11-24)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/7dea0d37dc59f68cbd74459f74869ff740517a60' (2024-11-19)
  → 'github:nvim-telescope/telescope-project.nvim/9fc8428e2ccae167c36ad7cff72798bbd8e35836' (2024-11-26)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/86050f39a62de48734f1a2876d70d179b75deb7c' (2024-11-08)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/cd8e56dd88709e05ecd0036ca2a821d265379bfa' (2024-11-29)
2024-11-30 03:53:18 +00:00
bee5631fab fix osc with new update 2024-11-23 10:52:42 -07:00
78d34d9177 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/f86f158efd4bab8dce3e207e4621f1df3a760b7a' (2024-11-15)
  → 'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
• Updated input 'disko':
    'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
  → 'github:nix-community/disko/abc8baff333ac9dca930fc4921a26a8fc248e442' (2024-11-22)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/16b0320abb172e6636b4e8dce059023197c7f186' (2024-11-16)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/667a63b43f16c94dec474a902c85ebcfa9f5aaac' (2024-11-23)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
  → 'github:nix-community/home-manager/8cf9cb2ee78aa129e5b8220135a511a2be254c0c' (2024-11-22)
• Updated input 'jujutsu':
    'github:martinvonz/jj/e8bbd89ec16b9c5f339bb31954eb57769a6e797f' (2024-11-16)
  → 'github:martinvonz/jj/a5c96bcf701d3c1c3f568cae4a4f34913bd63d8b' (2024-11-23)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-16)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-23)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/06ffce1a8d95e95c06a4bcfa117dd960b14a7101' (2024-11-14)
  → 'github:nix-community/nixos-generators/3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c' (2024-11-21)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/e04234d263750db01c78a412690363dc2226e68a' (2024-11-10)
  → 'github:nix-community/nixpkgs.lib/b9f04e3cf71c23bea21d2768051e6b3068d44734' (2024-11-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
  → 'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
  → 'github:nixos/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
• Updated input 'nur':
    'github:nix-community/nur/be2664b26e2c661b5053239f9f4d8a9b458e5dca' (2024-11-16)
  → 'github:nix-community/nur/1bfee5e55992301948598f3bb5192e58dfb53cc2' (2024-11-23)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/36da8dd0ddc4f88e0beae234c20e75397326f143' (2024-10-31)
  → 'github:mfussenegger/nvim-lint/6b46370d02cd001509a765591a3ffc481b538794' (2024-11-22)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/28eac2801b201f301449e976d7a9e8cfde053ba3' (2024-11-10)
  → 'github:kyazdani42/nvim-tree.lua/1f3ffd6af145af2a4930a61c50f763264922c3fe' (2024-11-21)
• Updated input 'osc':
    'github:theimpostor/osc/8a313c60d67353669509e9461d22b403df72b5e7' (2024-11-11)
  → 'github:theimpostor/osc/d8bb64e15c3041148e2a6fc92749a5346c47818c' (2024-11-21)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/e6787c30998b549e75b77b2432bcb7e7c595c30c' (2024-11-10)
  → 'github:leath-dub/snipe.nvim/19aa24b628bba5846032b977cdedc02219867213' (2024-11-20)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/796200876bb0fe8157b8eb1ce03d927d3827a052' (2024-09-09)
  → 'github:nvim-telescope/telescope-project.nvim/7dea0d37dc59f68cbd74459f74869ff740517a60' (2024-11-19)
2024-11-23 03:51:25 +00:00
100eedc8cd wezterm: autoconnect to unix domain 2024-11-17 13:33:46 -07:00
ce298b9600 wezterm: refactor config and add session management 2024-11-17 13:16:58 -07:00
7128cd8d0d clean up jqr 2024-11-16 22:59:00 -07:00
7007577176 jqr for jq preview repl
based on: https://gist.github.com/reegnz/b9e40993d410b75c2d866441add2cb55
2024-11-16 22:25:39 -07:00
ca1c7cc23f add osc for copy paste over ssh 2024-11-16 23:47:26 +00:00
ae43d24f62 enable postgres for flame 2024-11-16 23:47:08 +00:00
c6de176b0b fix: jujutsu tests fail on new version 2024-11-16 23:46:43 +00:00
a36df414c1 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/2fbf4a8417c28cf45bae6e6e97248cbbd9b78632' (2024-11-08)
  → 'github:lnl7/nix-darwin/f86f158efd4bab8dce3e207e4621f1df3a760b7a' (2024-11-15)
• Updated input 'disko':
    'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08)
  → 'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/22a53e2cae4d37fb24e9326c6f72a54cb4f269d5' (2024-11-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/16b0320abb172e6636b4e8dce059023197c7f186' (2024-11-16)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2f607e07f3ac7e53541120536708e824acccfaa8' (2024-11-05)
  → 'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/9c6bbe2a6a7ec647d03f64f0fadb874284f59eac' (2024-09-27)
  → 'github:hraban/mac-app-util/9ef4d1c14dab18a95691602bf541cd091fdcc2e3' (2024-11-12)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-09)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-16)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565' (2024-10-21)
  → 'github:nix-community/nixos-generators/06ffce1a8d95e95c06a4bcfa117dd960b14a7101' (2024-11-14)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/cce4521b6df014e79a7b7afc58c703ed683c916e' (2024-10-20)
  → 'github:nix-community/nixpkgs.lib/e04234d263750db01c78a412690363dc2226e68a' (2024-11-10)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7' (2024-11-05)
  → 'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
  → 'github:nixos/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
• Updated input 'nur':
    'github:nix-community/nur/b29499982ee565c8dab5ca5c7be8d2ebfc267d87' (2024-11-09)
  → 'github:nix-community/nur/be2664b26e2c661b5053239f9f4d8a9b458e5dca' (2024-11-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/3fc8de198c15ec4e5395f57b70579b3959976960' (2024-11-09)
  → 'github:kyazdani42/nvim-tree.lua/28eac2801b201f301449e976d7a9e8cfde053ba3' (2024-11-10)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/64b3763c1b388ac5a3d5a2da615a3d0824af4a45' (2024-11-01)
  → 'github:leath-dub/snipe.nvim/e6787c30998b549e75b77b2432bcb7e7c595c30c' (2024-11-10)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/597a5ed6ed4d932fd44697feec988f977081ae59' (2024-10-15)
  → 'github:tree-sitter/tree-sitter-bash/49c31006d8307dcb12bc5770f35b6d5b9e2be68e' (2024-11-11)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/7f4b9c2d8039701b0579b7c060a918f8548aa7cd' (2024-10-15)
  → 'github:tree-sitter/tree-sitter-python/6d14e44ea217bc5bb1c1804180e9818d7d1b8d91' (2024-11-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/adb6bc4b661a43328752b4575be4968a4990c033' (2024-11-01)
  → 'github:nix-community/NixOS-WSL/a6b9cf0b7805e2c50829020a73e7bde683fd36dd' (2024-11-15)
2024-11-16 03:52:17 +00:00
1022a3998f fix: don't use ~ in activation script 2024-11-11 14:00:41 -07:00
67727954ec fix: nix repl '<nixpkgs>' no longer works 2024-11-11 10:59:59 -07:00
cf8fc2ac56 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
  → 'github:lnl7/nix-darwin/2fbf4a8417c28cf45bae6e6e97248cbbd9b78632' (2024-11-08)
• Updated input 'disko':
    'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
  → 'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/b77ccb5ebd1bfd6e48ffe14f32f275ea30dd4fd6' (2024-11-02)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/22a53e2cae4d37fb24e9326c6f72a54cb4f269d5' (2024-11-09)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
  → 'github:nix-community/home-manager/2f607e07f3ac7e53541120536708e824acccfaa8' (2024-11-05)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-02)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-09)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
  → 'github:nixos/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7' (2024-11-05)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
  → 'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
• Updated input 'nur':
    'github:nix-community/nur/41c8b0a22b37fb114413b504c74ae64065d2fb83' (2024-11-02)
  → 'github:nix-community/nur/b29499982ee565c8dab5ca5c7be8d2ebfc267d87' (2024-11-09)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/82ab19ebf79c1839d7351f2fed213d1af13a598e' (2024-11-02)
  → 'github:kyazdani42/nvim-tree.lua/3fc8de198c15ec4e5395f57b70579b3959976960' (2024-11-09)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/25293d87b57ecd901ecc4ffa5dc8868e464f6b54' (2024-10-31)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/86050f39a62de48734f1a2876d70d179b75deb7c' (2024-11-08)
2024-11-09 03:46:56 +00:00
4c38ae86a9 fix ldap search command 2024-11-05 15:31:04 -05:00
4b3bc8a216 fix: 1password renamed to 1password-cli 2024-11-05 10:20:48 -05:00
e9a2ce6df3 fix: move audiobookshelf hostname to common 2024-11-05 10:20:21 -05:00
875054aa2c flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
  → 'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
• Updated input 'disko':
    'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
  → 'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/adf52e031127c5c22abf16d9c2ffcd9c2ad27cc2' (2024-10-26)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/b77ccb5ebd1bfd6e48ffe14f32f275ea30dd4fd6' (2024-11-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
  → 'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-10-12)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
  → 'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37' (2024-10-23)
  → 'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
• Updated input 'nur':
    'github:nix-community/nur/bdb41713712fcd619a678cde0dba1ae89d15392e' (2024-10-26)
  → 'github:nix-community/nur/41c8b0a22b37fb114413b504c74ae64065d2fb83' (2024-11-02)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/16b21a7d04d06661f92f273a0744fd81fb19e09e' (2024-10-17)
  → 'github:mfussenegger/nvim-lint/36da8dd0ddc4f88e0beae234c20e75397326f143' (2024-10-31)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/8760d76c1d316aa46f141f3f2b80b853a2acc41e' (2024-10-25)
  → 'github:kyazdani42/nvim-tree.lua/82ab19ebf79c1839d7351f2fed213d1af13a598e' (2024-11-02)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/4e162869cf0a777180c38afdf18f6364dadf877c' (2024-10-20)
  → 'github:leath-dub/snipe.nvim/64b3763c1b388ac5a3d5a2da615a3d0824af4a45' (2024-11-01)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/ccb67504f93b20f36775d3aad620f9dc9ed98bd9' (2024-10-19)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/25293d87b57ecd901ecc4ffa5dc8868e464f6b54' (2024-10-31)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/5a965cb108fb1f30b29a26dbc29b473f49e80b41' (2024-10-23)
  → 'github:nix-community/NixOS-WSL/adb6bc4b661a43328752b4575be4968a4990c033' (2024-11-01)
2024-11-02 03:47:37 +00:00
4b9eea276b upgrade to nextcloud 30 2024-10-26 18:36:28 +00:00
fc5ed5e892 fix: steam-unwrapped requires unfree exception 2024-10-26 14:22:19 -04:00
1d01ddbbbc flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/48b50b3b137be5cfb9f4d006835ce7c3fe558ccc' (2024-10-08)
  → 'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
• Updated input 'disko':
    'github:nix-community/disko/bdbdb725d632863bdedb80baabf21327614dd237' (2024-10-11)
  → 'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/8a3143c1ce147481db4463e71bc3b7002e6ebc56' (2024-10-12)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/adf52e031127c5c22abf16d9c2ffcd9c2ad27cc2' (2024-10-26)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa' (2024-09-26)
  → 'github:calops/hmts.nvim/c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2' (2024-10-24)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2b13611eaed8326789f76f70d21d06fbb14e3e47' (2024-10-11)
  → 'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-12)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-26)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/da26caae6c7776eedbc6514a0f57f1ccd6a759ed' (2024-10-02)
  → 'github:gytis-ivaskevicius/nix2vim/b3900e6d79233573f318006505d9ad3fb7170b92' (2024-10-16)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/40c8d30c490414910fc63626ad1b67af7db40cd3' (2024-10-10)
  → 'github:nix-community/nixos-generators/7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565' (2024-10-21)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/b61309c3c1b6013d36299bc8285612865b3b9e4c' (2024-10-06)
  → 'github:nix-community/nixpkgs.lib/cce4521b6df014e79a7b7afc58c703ed683c916e' (2024-10-20)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
  → 'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c505ebf777526041d792a49d5f6dd4095ea391a7' (2024-10-11)
  → 'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37' (2024-10-23)
• Updated input 'nur':
    'github:nix-community/nur/1d143f52b0a046924ee7fe74bce0bd2e10e07c3d' (2024-10-12)
  → 'github:nix-community/nur/bdb41713712fcd619a678cde0dba1ae89d15392e' (2024-10-26)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/f707b3ae50417067fa63fdfe179b0bff6b380da1' (2024-10-10)
  → 'github:mfussenegger/nvim-lint/16b21a7d04d06661f92f273a0744fd81fb19e09e' (2024-10-17)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/5ad87620ec9d1190d15c88171a3f0122bc16b0fe' (2024-10-11)
  → 'github:kyazdani42/nvim-tree.lua/8760d76c1d316aa46f141f3f2b80b853a2acc41e' (2024-10-25)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/f1abd4aaaef6398b45dcddc9f1a40dd982f732b0' (2024-08-23)
  → 'github:leath-dub/snipe.nvim/4e162869cf0a777180c38afdf18f6364dadf877c' (2024-10-20)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7' (2024-09-17)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/ccb67504f93b20f36775d3aad620f9dc9ed98bd9' (2024-10-19)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/c8713e50f0bd77d080832fc61ad128bc8f2934e9' (2024-09-03)
  → 'github:tree-sitter/tree-sitter-bash/597a5ed6ed4d932fd44697feec988f977081ae59' (2024-10-15)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/99fc677e6971c425e8d407f59c77ab897e585c92' (2024-09-09)
  → 'github:MunifTanjim/tree-sitter-lua/34e60e7f45fc313463c68090d88d742a55d1bd7a' (2024-10-21)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/8c65e256f971812276ff2a69a2f515c218ed7f82' (2024-09-03)
  → 'github:tree-sitter/tree-sitter-python/7f4b9c2d8039701b0579b7c060a918f8548aa7cd' (2024-10-15)
• Updated input 'tree-sitter-vimdoc':
    'github:neovim/tree-sitter-vimdoc/2249c44ecd3f5cf22da3dcccfb74f816ddb29245' (2024-06-08)
  → 'github:neovim/tree-sitter-vimdoc/d2e4b5c172a109966c2ce0378f73df6cede39400' (2024-10-23)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0fc8d9bb51cc46b31d950513df6d088905c8fe55' (2024-10-10)
  → 'github:nix-community/NixOS-WSL/5a965cb108fb1f30b29a26dbc29b473f49e80b41' (2024-10-23)
2024-10-26 03:47:10 +00:00
8cba026f10 temp: not sure if this is even required 2024-10-25 08:53:04 -04:00
a6e4b3130d fix: tabs should be spaces 2024-10-19 09:01:26 -04:00
33868c1add fix: only setup desktop entry for gui 2024-10-19 08:45:26 -04:00
d806bd7f56 use dynamic terminal for neovim based on rofi in linux 2024-10-12 11:57:38 -04:00
120b97f970 audiobookshelf 2024-10-12 15:18:58 +00:00
5f71437e57 fix: samba setting renamed 2024-10-12 15:18:15 +00:00
e8e65ba4d1 fix: zfs deprecated latest compatible linux 2024-10-12 15:17:51 +00:00
c594a0b161 use flake input for gh-collaborators 2024-10-12 10:52:04 -04:00
57c3719600 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
  → 'github:lnl7/nix-darwin/48b50b3b137be5cfb9f4d006835ce7c3fe558ccc' (2024-10-08)
• Updated input 'disko':
    'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
  → 'github:nix-community/disko/bdbdb725d632863bdedb80baabf21327614dd237' (2024-10-11)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/8a3143c1ce147481db4463e71bc3b7002e6ebc56' (2024-10-12)
• Updated input 'home-manager':
    'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
  → 'github:nix-community/home-manager/2b13611eaed8326789f76f70d21d06fbb14e3e47' (2024-10-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-12)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
  → 'github:nix-community/nixos-generators/40c8d30c490414910fc63626ad1b67af7db40cd3' (2024-10-10)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
  → 'github:nix-community/nixpkgs.lib/b61309c3c1b6013d36299bc8285612865b3b9e4c' (2024-10-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
  → 'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
  → 'github:nixos/nixpkgs/c505ebf777526041d792a49d5f6dd4095ea391a7' (2024-10-11)
• Updated input 'nur':
    'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
  → 'github:nix-community/nur/1d143f52b0a046924ee7fe74bce0bd2e10e07c3d' (2024-10-12)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
  → 'github:mfussenegger/nvim-lint/f707b3ae50417067fa63fdfe179b0bff6b380da1' (2024-10-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
  → 'github:kyazdani42/nvim-tree.lua/5ad87620ec9d1190d15c88171a3f0122bc16b0fe' (2024-10-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
  → 'github:nix-community/NixOS-WSL/0fc8d9bb51cc46b31d950513df6d088905c8fe55' (2024-10-10)
2024-10-12 03:46:46 +00:00
98c9c85e95 change update to saturday 2024-10-07 21:00:45 -04:00
3ef36c4873 remove magic prefix from ldap script 2024-10-07 19:23:35 -04:00
1d1d5014a0 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
  → 'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
• Updated input 'disko':
    'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
  → 'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/19a91816c123173a4551a6a04f2882338f20db1d' (2024-05-07)
  → 'github:calops/hmts.nvim/1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa' (2024-09-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
  → 'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/63f269f737cafb2219ba38780c1ecb1dc24bc4a2' (2024-07-02)
  → 'github:hraban/mac-app-util/9c6bbe2a6a7ec647d03f64f0fadb874284f59eac' (2024-09-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/1db11dbf8a4d124e02244fa5c4ff219b672a8e5b' (2024-06-17)
  → 'github:gytis-ivaskevicius/nix2vim/da26caae6c7776eedbc6514a0f57f1ccd6a759ed' (2024-10-02)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
  → 'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
  → 'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
  → 'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
  → 'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
• Updated input 'nur':
    'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
  → 'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
  → 'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
  → 'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
  → 'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
2024-10-06 03:51:27 +00:00
1f64ed0bb8 fix: dwarf fortress phoebus-theme now unfree
e40e703411
2024-09-30 20:30:29 -04:00
2bfb8ea8b5 disable tab previews in firefox 2024-09-27 14:28:44 -04:00
e91d6665fb add git abbreviation for deleting branches 2024-09-27 14:28:13 -04:00
7e3ab279af update neovim plugins 2024-09-25 16:59:40 -04:00
cdb9da9c50 add gdd to delete git local and remote branch 2024-09-25 16:58:42 -04:00
46bbd2c967 add darwin stateversion (required by nix-darwin) 2024-09-25 16:58:03 -04:00
51bee71faf move hostname to common because services aren't in darwin 2024-09-25 16:57:44 -04:00
a7adc18463 add = to convert program to full path 2024-09-25 16:43:48 -04:00
25a959f404 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
  → 'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
• Updated input 'disko':
    'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
  → 'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
  → 'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
  → 'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
  → 'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
  → 'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
  → 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
• Updated input 'nur':
    'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
  → 'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
  → 'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
  → 'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
  → 'github:nvim-treesitter/nvim-treesitter/929ca9c76ee20bb27cffbde4ee90583b6c54d616' (2024-09-21)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7' (2024-09-17)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
  → 'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
2024-09-22 03:49:30 +00:00
9f31d775c7 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/76559183801030451e200c90a1627c1d82bb4910' (2024-09-06)
  → 'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
• Updated input 'disko':
    'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
  → 'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1770fbd40babfb807f258b70b7992eaf6d09a712' (2024-09-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda' (2024-09-07)
  → 'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-08)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/15a07ebf4a041bf232026263f1f96f2af390f3bc' (2024-09-05)
  → 'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/7f0b9e4fbd91826cb9ce6babbc11c87903191051' (2024-09-01)
  → 'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c' (2024-09-06)
  → 'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
• Updated input 'nur':
    'github:nix-community/nur/98eaa05e5fe457f8606c82d3aded375f4ada2a00' (2024-09-08)
  → 'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5' (2024-09-03)
  → 'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ea55ef12036897fdc4476b115a395d2a34965c82' (2024-09-01)
  → 'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/58030e6d6f1d6609b43dcb765d54539dcc6a1a76' (2024-09-07)
  → 'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/1aaf16580a614601a7f7077d9639aeb457dc5559' (2023-12-01)
  → 'github:nvim-telescope/telescope-project.nvim/796200876bb0fe8157b8eb1ce03d927d3827a052' (2024-09-09)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0543b2980251a7a2024e936ef724dcdfb07bb87' (2024-09-05)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/a24dab177e58c9c6832f96b9a73102a0cfbced4a' (2024-03-11)
  → 'github:MunifTanjim/tree-sitter-lua/99fc677e6971c425e8d407f59c77ab897e585c92' (2024-09-09)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/8a89995f745b1a9029d654c391a0f62ca03f7fe7' (2024-09-03)
  → 'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
2024-09-15 03:49:10 +00:00
5306070bc5 add uptime-kuma status page 2024-09-14 22:13:13 +00:00
b729eff679 temp: allow litestream though insecure 2024-09-14 21:57:35 +00:00
4883532c65 vim-abolish to replace with caps in neovim 2024-09-09 17:10:39 -04:00
982d3ce2d8 fix 1password-gui on macos (not available) 2024-09-09 17:09:11 -04:00
64311e6e1c remove stu and markview from overlays 2024-09-09 17:08:39 -04:00
83c9393837 fix: wexterm renders blocks of color instead of text
https://github.com/wez/wezterm/issues/5990
2024-09-09 16:41:10 -04:00
e72d4eb548 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
  → 'github:lnl7/nix-darwin/76559183801030451e200c90a1627c1d82bb4910' (2024-09-06)
• Updated input 'disko':
    'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
  → 'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/863c7532c468f208ce8cb651e44f63408d548c3f' (2024-09-08)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c2cd2a52e02f1dfa1c88f95abeb89298d46023be' (2024-08-23)
  → 'github:nix-community/home-manager/aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda' (2024-09-07)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
  → 'github:OXY2DEV/markview.nvim/e4b4b9d03b90350236ce88f5be723aa5a8610931' (2024-09-05)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-08)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
  → 'github:nix-community/nixos-generators/15a07ebf4a041bf232026263f1f96f2af390f3bc' (2024-09-05)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
  → 'github:nix-community/nixpkgs.lib/7f0b9e4fbd91826cb9ce6babbc11c87903191051' (2024-09-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
  → 'github:nixos/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c' (2024-09-06)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
• Updated input 'nur':
    'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
  → 'github:nix-community/nur/98eaa05e5fe457f8606c82d3aded375f4ada2a00' (2024-09-08)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
  → 'github:mfussenegger/nvim-lint/a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5' (2024-09-03)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/d43ab67d0eb4317961c5e9d15fffe908519debe0' (2024-08-25)
  → 'github:kyazdani42/nvim-tree.lua/ea55ef12036897fdc4476b115a395d2a34965c82' (2024-09-01)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
  → 'github:nvim-treesitter/nvim-treesitter/58030e6d6f1d6609b43dcb765d54539dcc6a1a76' (2024-09-07)
• Updated input 'stu':
    'github:lusingander/stu/aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011' (2024-07-22)
  → 'github:lusingander/stu/6899c43edc34aeea99b632ae18c793f040160a99' (2024-09-07)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/c0543b2980251a7a2024e936ef724dcdfb07bb87' (2024-09-05)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/2fbd860f802802ca76a6661ce025b3a3bca2d3ed' (2024-05-06)
  → 'github:tree-sitter/tree-sitter-bash/c8713e50f0bd77d080832fc61ad128bc8f2934e9' (2024-09-03)
• Updated input 'tree-sitter-ini':
    'github:justinmk/tree-sitter-ini/87176e524f0a98f5be75fa44f4f0ff5c6eac069c' (2024-05-28)
  → 'github:justinmk/tree-sitter-ini/962568c9efa71d25720ab42c5d36e222626ef3a6' (2024-09-01)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
  → 'github:tree-sitter/tree-sitter-python/8c65e256f971812276ff2a69a2f515c218ed7f82' (2024-09-03)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
  → 'github:nix-community/NixOS-WSL/8a89995f745b1a9029d654c391a0f62ca03f7fe7' (2024-09-03)
2024-09-08 03:46:41 +00:00
b51df2f3a3 Revert "flake.lock: Update"
This reverts commit 48b1d41aff.
2024-09-06 21:03:43 +00:00
f47f397e1f fix: n8n urls for auth redirects 2024-09-06 20:10:03 +00:00
48b1d41aff flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
  → 'github:lnl7/nix-darwin/c8d3157d1f768e382de5526bb38e74d2245cad04' (2024-08-30)
• Updated input 'disko':
    'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
  → 'github:nix-community/disko/511388d837178979de66d14ca4a2ebd5f7991cd3' (2024-08-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/d6fb0bcaf97c356862baf1c90724314f36eebb72' (2024-09-01)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
  → 'github:OXY2DEV/markview.nvim/ea71a5bc6e0a0b28af62e2f21d264ddcc466bd51' (2024-08-31)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-01)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
  → 'github:nix-community/nixos-generators/0dd0205bc3f6d602ddb62aaece5f62a8715a9e85' (2024-08-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
  → 'github:nix-community/nixpkgs.lib/b741d900fecd2f0c32d90f853b24be9f5f098b7d' (2024-08-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
  → 'github:nixos/nixpkgs/71e91c409d1e654808b2621f28a327acfdad8dc2' (2024-08-28)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
• Updated input 'nur':
    'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
  → 'github:nix-community/nur/45a53f457546d3c0bf3c4f4673cb53bb78279a07' (2024-09-01)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
  → 'github:nvim-treesitter/nvim-treesitter/749df308870381979dc098063973f6ace9968ef6' (2024-08-31)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/8387094305d51c55100528c6a45254c011f8ba13' (2024-08-30)
• Updated input 'tree-sitter-ini':
    'github:justinmk/tree-sitter-ini/87176e524f0a98f5be75fa44f4f0ff5c6eac069c' (2024-05-28)
  → 'github:justinmk/tree-sitter-ini/fc37e95b8d9651c60d81cccbcbbc55867dbb0afd' (2024-08-29)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
  → 'github:tree-sitter/tree-sitter-python/346fa42dc2990d2a2736cc60891369d0d3d8e65c' (2024-08-26)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
  → 'github:nix-community/NixOS-WSL/345dfa06658a37873ca18aa205f409e4aaf1caa6' (2024-08-26)
2024-09-01 03:49:32 +00:00
25c4e79ccc add filebrowser app as nextcloud alternative 2024-08-25 21:56:28 +00:00
3b86a666fd add ntfy push notifications 2024-08-25 21:04:16 +00:00
264ad53f67 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
  → 'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
• Updated input 'disko':
    'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
  → 'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
  → 'github:nix-community/home-manager/c2cd2a52e02f1dfa1c88f95abeb89298d46023be' (2024-08-23)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
  → 'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-18)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
  → 'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
  → 'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
  → 'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c3d4ac725177c030b1e289015989da2ad9d56af0' (2024-08-15)
  → 'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
• Updated input 'nur':
    'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
  → 'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
  → 'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ad0b95dee55955817af635fa121f6e2486b10583' (2024-08-10)
  → 'github:kyazdani42/nvim-tree.lua/d43ab67d0eb4317961c5e9d15fffe908519debe0' (2024-08-25)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
  → 'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/854a47c970413405361487c13e2b1e9aa9a3696e' (2024-08-04)
  → 'github:leath-dub/snipe.nvim/f1abd4aaaef6398b45dcddc9f1a40dd982f732b0' (2024-08-23)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
  → 'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690' (2024-08-08)
  → 'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
2024-08-25 03:46:15 +00:00
1cb5d3138c more caddy log tweaks 2024-08-21 01:23:08 +00:00
9c4438bed2 enable n8n on flame 2024-08-19 20:32:57 +00:00
642d3c183f try changing grafana zfs from increase to delta 2024-08-19 00:04:43 +00:00
5798406977 add denylist to top of caddy routes 2024-08-19 00:04:33 +00:00
81cb603bb7 fix: vmagent scrape size exceeded 2024-08-18 19:36:29 -04:00
1e7c69b3ea add missing paperless service in grafana 2024-08-18 19:35:44 -04:00
45deba10af add shortcut for systemctl cat 2024-08-18 19:35:30 -04:00
d1721efc6c fix: vmagent 102 doesn't work, resort to nixpkgs-stable 2024-08-18 22:23:13 +00:00
96caba63c4 fix: nextcloud apps must be unpacked
compressed sources are no longer unpacked by default
2024-08-18 22:09:56 +00:00
01cd6151c1 calibre-web patch no longer needed for session 2024-08-18 22:09:28 +00:00
e6644ab7b9 add unused calendar application placeholder 2024-08-18 16:42:39 -04:00
e43f6cf000 use alt-t for new wezterm tab on linux 2024-08-18 16:41:31 -04:00
a9cdf6ac38 remove keyboard section from polybar
no longer needed after switching from keyd to kanata
2024-08-18 16:37:33 -04:00
9fb7f68b07 split caddy logging by host and error
also add debug, admin, and other log
2024-08-18 15:42:30 +00:00
845fc000b6 Revert "flake.lock: Update"
This reverts commit 0b0556f057.
2024-08-18 15:15:05 +00:00
0b0556f057 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
  → 'github:lnl7/nix-darwin/076b9a905af8a52b866c8db068d6da475839d97b' (2024-08-17)
• Updated input 'disko':
    'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
  → 'github:nix-community/disko/276a0d055a720691912c6a34abb724e395c8e38a' (2024-08-15)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/4a17fec79e6c600f3c2e57984197cb7834a616b0' (2024-08-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
  → 'github:nix-community/home-manager/086f619dd991a4d355c07837448244029fc2d9ab' (2024-08-11)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
  → 'github:OXY2DEV/markview.nvim/738ddc0390449c0652f34b99a6cbe0699b2fcf58' (2024-08-17)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-11)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-18)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
  → 'github:nix-community/nixos-generators/32e9d82bada67fc5155e8d4d99b6fc3a1765bfdc' (2024-08-17)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
  → 'github:nix-community/nixpkgs.lib/ace7856d327b618d3777e31b1f224b3ab57ed71a' (2024-08-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
  → 'github:nixos/nixpkgs/c3aa7b8938b17aebd2deecf7be0636000d62a2b9' (2024-08-14)
• Updated input 'nur':
    'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
  → 'github:nix-community/nur/eefd7f643ffeb25543019d48952e66ddae3da583' (2024-08-18)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
  → 'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
  → 'github:nvim-treesitter/nvim-treesitter/6d74da7f0a29c35ee7636e157e72dd221e8d6197' (2024-08-17)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/957e1a4710f2cbad66b747c579ab8b450bda9dd6' (2024-08-16)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
  → 'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
2024-08-18 03:44:46 +00:00
771cac63a3 save letsencrypt key for acme 2024-08-17 08:55:03 -04:00
f7c5d3510f add acme email to caddy tls 2024-08-14 09:41:12 -04:00
6866ca5fee add snipe.nvim for jumping buffers on gb 2024-08-11 21:55:14 -04:00
883dc15b3d flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/f7142b8024d6b70c66fd646e1d099d3aa5bfec49' (2024-08-02)
  → 'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
• Updated input 'disko':
    'github:nix-community/disko/7e1b215a0a96efb306ad6440bf706d2b307dc267' (2024-08-01)
  → 'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1e21b72d579f06362e01f594b713fa1d51622c21' (2024-08-04)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/afc892db74d65042031a093adb6010c4c3378422' (2024-08-02)
  → 'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/d0ccc97b5c988fb28e5033abdf7b832b9dfaf897' (2024-07-31)
  → 'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-04)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-11)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/75cbb2a5e19c18840d105a72d036c6c92fc46c5d' (2024-07-29)
  → 'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/d15f6f6021693898fcd2c6a9bb13707383da9bbc' (2024-07-28)
  → 'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9f918d616c5321ad374ae6cb5ea89c9e04bf3e58' (2024-07-31)
  → 'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
• Updated input 'nur':
    'github:nix-community/nur/d95fbf93429f5c9f4e41249212d2386a995f0cc3' (2024-08-04)
  → 'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/efc6fc83f0772283e064c53a8f9fb5645bde0bc0' (2024-06-26)
  → 'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/48d0e82f9434691cc50d970898142a8c084a49d6' (2024-07-28)
  → 'github:kyazdani42/nvim-tree.lua/ad0b95dee55955817af635fa121f6e2486b10583' (2024-08-10)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/a7a3b9c10e8a5fe0da05ebb65db3ed1d164e612d' (2024-08-03)
  → 'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/ca50af9dc3cd88647077330b4728f4d0a7e754c4' (2024-07-28)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/f373ad59ae5866f0f98216bd5c71526b373450d2' (2024-07-29)
  → 'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690' (2024-08-08)
2024-08-11 03:45:54 +00:00
842f373101 switch from keyd to kanata
more reliable, doesn't break on update. also allows the escape key to
timeout and turn into lctrl after 1 second, which might be nicer
behavior
2024-08-07 23:24:28 -04:00
65aa25b213 add moonlight for game streaming 2024-08-07 22:58:58 -04:00
5b2fef7e01 comment on choosing not to switch to ddclient 2024-08-07 22:57:31 -04:00
2a812c1bdb add tiny-inline-diagnostic.nvim plugin for errors 2024-08-07 22:18:52 -04:00
16a372ce64 gnome packages are now top-level 2024-08-04 21:03:38 -04:00
fb45ccdd5c flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/0413754b3cdb879ba14f6e96915e5fdf06c6aab6' (2024-07-27)
  → 'github:lnl7/nix-darwin/f7142b8024d6b70c66fd646e1d099d3aa5bfec49' (2024-08-02)
• Updated input 'disko':
    'github:nix-community/disko/5b01cea8b5753de9c2febd27203c530be14745ff' (2024-07-26)
  → 'github:nix-community/disko/7e1b215a0a96efb306ad6440bf706d2b307dc267' (2024-08-01)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/269d84cf5630803441099787d85ec8792ccccdc7' (2024-07-28)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/1e21b72d579f06362e01f594b713fa1d51622c21' (2024-08-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d0240a064db3987eb4d5204cf2400bc4452d9922' (2024-07-27)
  → 'github:nix-community/home-manager/afc892db74d65042031a093adb6010c4c3378422' (2024-08-02)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/316cafc79490f8b79c288bbe6638838d6d68e227' (2024-07-17)
  → 'github:OXY2DEV/markview.nvim/d0ccc97b5c988fb28e5033abdf7b832b9dfaf897' (2024-07-31)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-28)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-04)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/c12f9a969c8cdf14618774515c7c6c96aef753c7' (2024-07-25)
  → 'github:nix-community/nixos-generators/75cbb2a5e19c18840d105a72d036c6c92fc46c5d' (2024-07-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/31a99025ce3784c20dd11dafa5260e80e314f59e' (2024-07-21)
  → 'github:nix-community/nixpkgs.lib/d15f6f6021693898fcd2c6a9bb13707383da9bbc' (2024-07-28)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
  → 'github:nixos/nixpkgs/9f918d616c5321ad374ae6cb5ea89c9e04bf3e58' (2024-07-31)
• Updated input 'nur':
    'github:nix-community/nur/ad7056b477de1bf3e1fa5ed2c3da1340d6820277' (2024-07-28)
  → 'github:nix-community/nur/d95fbf93429f5c9f4e41249212d2386a995f0cc3' (2024-08-04)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/f97e0de0053df1cb3b9f74b9b1239acced1b7d9a' (2024-07-27)
  → 'github:nvim-treesitter/nvim-treesitter/a7a3b9c10e8a5fe0da05ebb65db3ed1d164e612d' (2024-08-03)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/ac026940beb42f74c5666f6ed3989aca41eddeea' (2024-07-26)
  → 'github:nix-community/NixOS-WSL/f373ad59ae5866f0f98216bd5c71526b373450d2' (2024-07-29)
2024-08-04 03:45:44 +00:00
74e6d740af allow rust-analyzer to check optional feature code 2024-08-01 22:42:48 -04:00
2ad5411b90 add possible option for darwin shell commented out 2024-08-01 22:41:35 -04:00
3b494bed5b adwaita-icon-theme now a top-level pkg 2024-08-01 22:41:15 -04:00
de4c8c32ef flake.lock: Update
Flake lock file updates:

• Updated input 'baleia-nvim-src':
    'github:m00qek/baleia.nvim/4d3b27dbec65a44ceecd9306f605a980bcf4e9b1' (2024-05-31)
  → 'github:m00qek/baleia.nvim/1b25eac3ac03659c3d3af75c7455e179e5f197f7' (2024-07-24)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/33bf7df5bbfcbbb49e6559b0c96c9e3b26d14e58' (2024-07-21)
  → 'github:lnl7/nix-darwin/0413754b3cdb879ba14f6e96915e5fdf06c6aab6' (2024-07-27)
• Updated input 'disko':
    'github:nix-community/disko/bec6e3cde912b8acb915fecdc509eda7c973fb42' (2024-07-19)
  → 'github:nix-community/disko/5b01cea8b5753de9c2febd27203c530be14745ff' (2024-07-26)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/5d4711f0568cd99b73b0bc1524ebe22e5ab2caf7' (2024-07-21)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/269d84cf5630803441099787d85ec8792ccccdc7' (2024-07-28)
• Updated input 'home-manager':
    'github:nix-community/home-manager/635563f245309ef5320f80c7ebcb89b2398d2949' (2024-07-21)
  → 'github:nix-community/home-manager/d0240a064db3987eb4d5204cf2400bc4452d9922' (2024-07-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-21)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-28)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/076ea5b672bb1ea535ee84cfdabd0c2f0b7f20c7' (2024-07-13)
  → 'github:nix-community/nixos-generators/c12f9a969c8cdf14618774515c7c6c96aef753c7' (2024-07-25)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6' (2024-06-30)
  → 'github:nix-community/nixpkgs.lib/31a99025ce3784c20dd11dafa5260e80e314f59e' (2024-07-21)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374' (2024-07-19)
  → 'github:nixos/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
• Updated input 'nur':
    'github:nix-community/nur/47677f66e7c51e83505718528a8b3dc2ddcb1e9c' (2024-07-21)
  → 'github:nix-community/nur/ad7056b477de1bf3e1fa5ed2c3da1340d6820277' (2024-07-28)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/4e396b26244444c911b73e9f2f40ae0115351fd1' (2024-07-21)
  → 'github:kyazdani42/nvim-tree.lua/48d0e82f9434691cc50d970898142a8c084a49d6' (2024-07-28)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/733fa85db27079ec2757183c5c840ba15a303e1f' (2024-07-21)
  → 'github:nvim-treesitter/nvim-treesitter/f97e0de0053df1cb3b9f74b9b1239acced1b7d9a' (2024-07-27)
• Updated input 'stu':
    'github:lusingander/stu/cc6f75ca0b97c41b6d1564aa96f175c513eda01b' (2024-07-18)
  → 'github:lusingander/stu/aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011' (2024-07-22)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/8ebede998342477736e0d0acdcc13ddb166a335f' (2024-07-17)
  → 'github:nix-community/NixOS-WSL/ac026940beb42f74c5666f6ed3989aca41eddeea' (2024-07-26)
2024-07-28 03:45:20 +00:00
a7be0ed5cc fix: init tf in subdirectory 2024-07-27 12:25:31 -04:00
e7f8d706b2 remove settings from dock on macos 2024-07-21 10:48:56 -04:00
39fda67d6e replace youtube-dl with yt-dlp on macos 2024-07-21 10:48:56 -04:00
4eb0327a1b fix: sound is now deprecated 2024-07-21 10:11:50 -04:00
029119ce93 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ec12b88104d6c117871fad55e931addac4626756' (2024-07-01)
  → 'github:lnl7/nix-darwin/33bf7df5bbfcbbb49e6559b0c96c9e3b26d14e58' (2024-07-21)
• Updated input 'disko':
    'github:nix-community/disko/544a80a69d6e2da04e4df7ec8210a858de8c7533' (2024-07-01)
  → 'github:nix-community/disko/bec6e3cde912b8acb915fecdc509eda7c973fb42' (2024-07-19)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/407f201936424ec061d33aa687e7978ae7873b5c' (2024-07-02)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/5d4711f0568cd99b73b0bc1524ebe22e5ab2caf7' (2024-07-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/59ce796b2563e19821361abbe2067c3bb4143a7d' (2024-07-01)
  → 'github:nix-community/home-manager/635563f245309ef5320f80c7ebcb89b2398d2949' (2024-07-21)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/1857b26aceaf64c2b6a357eb83cf34139b6365cc' (2024-06-20)
  → 'github:hraban/mac-app-util/63f269f737cafb2219ba38780c1ecb1dc24bc4a2' (2024-07-02)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/f60219dce7283192d549f21847fcf8537bf6d260' (2024-06-28)
  → 'github:OXY2DEV/markview.nvim/316cafc79490f8b79c288bbe6638838d6d68e227' (2024-07-17)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-07)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-21)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/140dcc2b9a0eb87ba5e9011076a1a7af19179ab1' (2024-07-01)
  → 'github:nix-community/nixos-generators/076ea5b672bb1ea535ee84cfdabd0c2f0b7f20c7' (2024-07-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01)
  → 'github:nixos/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374' (2024-07-19)
• Updated input 'nur':
    'github:nix-community/nur/574405811547dcec59e912c5e82bfd224648bd5e' (2024-07-02)
  → 'github:nix-community/nur/47677f66e7c51e83505718528a8b3dc2ddcb1e9c' (2024-07-21)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/8b2c5c678be4b49dff6a2df794877000113fd77b' (2024-06-23)
  → 'github:kyazdani42/nvim-tree.lua/4e396b26244444c911b73e9f2f40ae0115351fd1' (2024-07-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e0d6c7643dc953acc2e817d0cebfc2f1f8c008e1' (2024-07-02)
  → 'github:nvim-treesitter/nvim-treesitter/733fa85db27079ec2757183c5c840ba15a303e1f' (2024-07-21)
• Updated input 'stu':
    'github:lusingander/stu/279edc8d63c04b42773434bf8c6f2744a66d71a8' (2024-07-08)
  → 'github:lusingander/stu/cc6f75ca0b97c41b6d1564aa96f175c513eda01b' (2024-07-18)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/71778c2a472ed00a64abf4219544edbf8e4b86d7' (2024-05-01)
  → 'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/269411cfed6aab694e46f719277c972de96177bb' (2024-06-24)
  → 'github:nix-community/NixOS-WSL/8ebede998342477736e0d0acdcc13ddb166a335f' (2024-07-17)
2024-07-21 13:49:04 +00:00
b15fd34e30 try pinning nix version in lockfile update 2024-07-21 09:43:42 -04:00
a47bcf8949 fix: error in nix version when updating flake
see: https://github.com/DeterminateSystems/update-flake-lock/issues/120
2024-07-21 08:10:22 -04:00
6c024107ee add stu s3 tui browser 2024-07-10 15:47:42 -04:00
4ca25aa194 just keep updating snappymail until we figure this out 2024-07-07 10:09:24 -04:00
20fcca6bda add cursor to fix firefox not rendering links
however, the cursor is too big and i can't seem to make it smaller
2024-07-07 10:06:10 -04:00
0bbbabd6e8 try to fix log rotation issues 2024-07-02 13:42:50 +00:00
ff05b99fe1 update lockfile (fix regresshion vuln) 2024-07-02 13:42:06 +00:00
abdf4b64be add cloudflared client to macos machine 2024-07-02 09:35:13 -04:00
6d0d36165e use opt instead of bo for undofile
i saw this in an example and it seems like it
might be more appropriate
2024-07-02 09:33:04 -04:00
b4470727e5 back to hosting snappymail myself
i'm still not sure if this will work
2024-06-30 21:57:48 -04:00
126baae735 add more services to grafana caddy list 2024-06-29 18:37:03 -04:00
892dfbbee4 fix: grafana alert label template 2024-06-29 13:51:54 +00:00
0198469b83 oops forgot to get rid of experimental line 2024-06-29 13:43:08 +00:00
c89ca7ea94 upgrade to nextcloud 29 successfully 2024-06-29 13:41:30 +00:00
0a98b72784 only set kitty aliases in kitty terminal 2024-06-29 08:01:23 -04:00
c7de16b14c add prom scraping to victoriametrics
allows us to not run vmagent when running victoriametrics
2024-06-29 01:22:59 +00:00
1d405e1828 format comments on lua file 2024-06-28 20:36:31 -04:00
97f99a149e revert toggleterm float opts
they stuck to the height of the terminal window at initial open, which
looked bad whenever it changed, especially if it increased.
2024-06-28 20:36:08 -04:00
bc794f89bc play with markview-nvim
neovim markdown plugin
2024-06-28 20:34:35 -04:00
63b90102f2 remove tempest from cloudflare tunnel alerts 2024-06-27 11:36:05 -04:00
392 changed files with 9751 additions and 7474 deletions

View File

@ -3,7 +3,7 @@ name: Update Flake
on: on:
workflow_dispatch: # allows manual triggering workflow_dispatch: # allows manual triggering
schedule: schedule:
- cron: '33 3 * * 0' # runs weekly on Sunday at 03:33 - cron: '33 3 * * 6' # runs weekly on Saturday at 03:33
permissions: permissions:
contents: write contents: write
@ -19,12 +19,14 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11 uses: DeterminateSystems/nix-installer-action@v11
with:
nix-package-url: https://releases.nixos.org/nix/nix-2.18.4/nix-2.18.4-x86_64-linux.tar.xz
- name: Check Nixpkgs Inputs - name: Check Nixpkgs Inputs
uses: DeterminateSystems/flake-checker-action@v7 uses: DeterminateSystems/flake-checker-action@v7
- name: Add Nix Cache - name: Add Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6 uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Update flake.lock - name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v21 uses: DeterminateSystems/update-flake-lock@v23
id: update id: update
with: with:
pr-title: "Update flake.lock" # Title of PR to be created pr-title: "Update flake.lock" # Title of PR to be created

View File

@ -25,9 +25,6 @@ rec {
# Re-encrypt secrets for all machines # Re-encrypt secrets for all machines
reencrypt-secrets = import ./reencrypt-secrets.nix { inherit pkgs; }; reencrypt-secrets = import ./reencrypt-secrets.nix { inherit pkgs; };
# Connect machine metrics to Netdata Cloud
netdata = import ./netdata-cloud.nix { inherit pkgs; };
# Run neovim as an app # Run neovim as an app
neovim = import ./neovim.nix { inherit pkgs; }; neovim = import ./neovim.nix { inherit pkgs; };
nvim = neovim; nvim = neovim;

View File

@ -5,37 +5,5 @@
type = "app"; type = "app";
program = builtins.toString ( program = pkgs.lib.getExe pkgs.format-root;
pkgs.writeShellScript "format-root" ''
set -e
DISK=$1
if [ -z "''${DISK}" ]; then
${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \
--foreground "#fb4934" \
"Missing required parameter." \
"Usage: format-root -- <disk>" \
"Flake example: nix run github:nmasur/dotfiles#format-root -- nvme0n1"
echo "(exiting)"
exit 1
fi
${pkgs.disko-packaged}/bin/disko \
--mode create \
--dry-run \
--flake "path:$(pwd)#root" \
--arg disk \""/dev/''${DISK}"\"
${pkgs.gum}/bin/gum confirm \
"This will ERASE ALL DATA on the disk /dev/''${DISK}. Are you sure you want to continue?" \
--default=false
${pkgs.disko-packaged}/bin/disko \
--mode create \
--flake "path:$(pwd)#root" \
--arg disk "/dev/''${DISK}"
''
);
} }

View File

@ -17,7 +17,6 @@
' {{ Color "15" "57" " loadkey " }} {{ Italic "Load an ssh key for this machine using melt." }}' \ ' {{ Color "15" "57" " loadkey " }} {{ Italic "Load an ssh key for this machine using melt." }}' \
' {{ Color "15" "57" " encrypt-secret " }} {{ Italic "Encrypt a secret for all machines." }}' \ ' {{ Color "15" "57" " encrypt-secret " }} {{ Italic "Encrypt a secret for all machines." }}' \
' {{ Color "15" "57" " reencrypt-secrets " }} {{ Italic "Reencrypt all secrets when new machine is added." }}' \ ' {{ Color "15" "57" " reencrypt-secrets " }} {{ Italic "Reencrypt all secrets when new machine is added." }}' \
' {{ Color "15" "57" " netdata " }} {{ Italic "Connect a machine to Netdata cloud." }}'
echo "" echo ""
echo "" echo ""
'' ''

View File

@ -1,15 +1,9 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# TODO: just replace with packages instead of apps
type = "app"; type = "app";
program = builtins.toString ( program = "${pkgs.loadkey}/bin/loadkey";
pkgs.writeShellScript "loadkey" ''
printf "\nEnter the seed phrase for your SSH key...\n"
printf "\nThen press ^D when complete.\n\n"
mkdir -p ~/.ssh/
${pkgs.melt}/bin/melt restore ~/.ssh/id_ed25519
printf "\n\nContinuing activation.\n\n"
''
);
} }

View File

@ -1,21 +0,0 @@
{ pkgs, ... }:
{
type = "app";
program = builtins.toString (
pkgs.writeShellScript "netdata-cloud" ''
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
mkdir --parents --mode 0750 /var/lib/netdata/cloud.d
printf "\nEnter the claim token for netdata cloud...\n\n"
read -p "Token: " token
echo "''${token}" > /var/lib/netdata/cloud.d/token
chown -R netdata:netdata /var/lib/netdata
${pkgs.netdata}/bin/netdata-claim.sh -id=$(uuidgen)
printf "\n\nNow restart netdata service.\n\n"
''
);
}

View File

@ -1,98 +0,0 @@
{ pool, disks, ... }:
{
disk = lib.genAttrs disks (disk: {
"${disk}" = {
type = "disk";
device = "/dev/${disk}";
content = {
type = "table";
format = "gpt";
partitions = [
{
type = "partition";
name = "zfs";
start = "128MiB";
end = "100%";
content = {
type = "zfs";
pool = pool;
};
}
];
};
};
});
zpool = {
"${pool}" = {
type = "zpool";
mode = "raidz1";
rootFsOptions = {
compression = "on"; # lz4 by default
"com.sun:auto-snapshot" = "false";
ashift = "12";
};
# mountpoint = "/";
datasets = {
root = {
zfs_type = "filesystem";
mountpoint = null;
options."com.sun:auto-snapshot" = "false";
};
# "media/movies" = {
# zfs_type = "filesystem";
# mountpoint = "/media/movies";
# options.recordsize = "1M";
# };
# "media/tv" = {
# zfs_type = "filesystem";
# mountpoint = "/media/tv";
# options.recordsize = "1M";
# };
# "media/books" = {
# zfs_type = "filesystem";
# mountpoint = "/media/books";
# };
# archive = {
# zfs_type = "filesystem";
# mountpoint = "/archive";
# options.compression = "zstd";
# options."com.sun:auto-snapshot" = "true";
# };
# zfs_unmounted_fs = {
# zfs_type = "filesystem";
# options.mountpoint = "none";
# };
# zfs_legacy_fs = {
# zfs_type = "filesystem";
# options.mountpoint = "legacy";
# mountpoint = "/zfs_legacy_fs";
# };
# zfs_testvolume = {
# zfs_type = "volume";
# size = "10M";
# content = {
# type = "filesystem";
# format = "ext4";
# mountpoint = "/ext4onzfs";
# };
# };
# encrypted = {
# zfs_type = "filesystem";
# size = "20M";
# options = {
# mountpoint = "none";
# encryption = "aes-256-gcm";
# keyformat = "passphrase";
# keylocation = "file:///tmp/secret.key";
# };
# };
# "encrypted/test" = {
# zfs_type = "filesystem";
# size = "2M";
# mountpoint = "/zfs_crypted";
# };
};
};
};
}

415
flake.lock generated
View File

@ -3,11 +3,11 @@
"baleia-nvim-src": { "baleia-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1717182435, "lastModified": 1721805312,
"narHash": "sha256-duI3myrJSvmtjF9n7NVrVOsuSo1O3JEypA5ghBHsULc=", "narHash": "sha256-qA1x5kplP2I8bURO0I4R0gt/zeznu9hQQ+XHptLGuwc=",
"owner": "m00qek", "owner": "m00qek",
"repo": "baleia.nvim", "repo": "baleia.nvim",
"rev": "4d3b27dbec65a44ceecd9306f605a980bcf4e9b1", "rev": "1b25eac3ac03659c3d3af75c7455e179e5f197f7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -51,11 +51,11 @@
}, },
"cl-nix-lite": { "cl-nix-lite": {
"locked": { "locked": {
"lastModified": 1717972076, "lastModified": 1728174978,
"narHash": "sha256-hnZEsDInTcsVSL5LBGDAZegAxVLBus/wiJh+sNM15zU=", "narHash": "sha256-Grqqg+xuicANB85j0gNEXxi9SBKY7bzGeTuyi95eGcY=",
"owner": "hraban", "owner": "hraban",
"repo": "cl-nix-lite", "repo": "cl-nix-lite",
"rev": "cc920bfb0a6402d3871f470c98d65266126973e4", "rev": "31cfe6275c341eb3120a99f4b1c8516c49a29d87",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -67,11 +67,11 @@
"cmp-nvim-lsp-src": { "cmp-nvim-lsp-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715931395, "lastModified": 1733823748,
"narHash": "sha256-CT1+Z4XJBVsl/RqvJeGmyitD6x7So0ylXvvef5jh7I8=", "narHash": "sha256-iaihXNCF5bB5MdeoosD/kc3QtpA/QaIDZVLiLIurBSM=",
"owner": "hrsh7th", "owner": "hrsh7th",
"repo": "cmp-nvim-lsp", "repo": "cmp-nvim-lsp",
"rev": "39e2eda76828d88b773cc27a3f61d2ad782c922d", "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +87,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718662658, "lastModified": 1737162735,
"narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=", "narHash": "sha256-5T+HkouTMGaRm0rh3kgD4Z1O7ONKfgjyoPQH5rSyreU=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "29b3096a6e283d7e6779187244cb2a3942239fdf", "rev": "87131f51f8256952d1a306b5521cedc2dc61aa08",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +108,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718846788, "lastModified": 1737038063,
"narHash": "sha256-9dtXYtEkmXoUJV+PGLqscqF7qTn4AIhAKpFWRFU2NYs=", "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "e1174d991944a01eaaa04bc59c6281edca4c0e6e", "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,34 +138,14 @@
"type": "github" "type": "github"
} }
}, },
"firefox-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1718930737,
"narHash": "sha256-+nKJ/VP6X+hirXqRry3GzdNn4OJvOdB4nRnJY22ixFw=",
"owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin",
"rev": "087919070dffc9798a8cb753e97babe287f06c25",
"type": "github"
},
"original": {
"owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1697816753, "lastModified": 1730663653,
"narHash": "sha256-40to80AEIyKCQI0xMKCeF5ePoIKTYgjVVCZeu4CnTxM=", "narHash": "sha256-kFCUWettiFHDIqxCWWQ9qY8pVh+Lj+XL0Giyy/kdomg=",
"owner": "hraban", "owner": "hraban",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "6025bade1336a36014639bc3f67eacc853dab78f", "rev": "e5b16676185cb7548581c852f51ce7f3a49bba5e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -178,11 +158,11 @@
"flake-compat_2": { "flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1733328505,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -191,16 +171,40 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": { "flake-parts": {
"inputs": { "inputs": {
"systems": "systems" "nixpkgs-lib": [
"nur",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1733312601,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"mac-app-util",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -226,32 +230,14 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"hmts-nvim-src": { "hmts-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715076655, "lastModified": 1729786258,
"narHash": "sha256-vDTqJQzLyg0nmlC+CrLnPkYti1rPxmvRW8eQq/9Zg+M=", "narHash": "sha256-V5dwIJdxBulFVKk1iSlf4H5NRz1UH7uYQeMvwtgkpIs=",
"owner": "calops", "owner": "calops",
"repo": "hmts.nvim", "repo": "hmts.nvim",
"rev": "19a91816c123173a4551a6a04f2882338f20db1d", "rev": "c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -267,11 +253,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718983978, "lastModified": 1737120639,
"narHash": "sha256-lp6stESwTLBZUQ5GBivxwNehShmBp4jqeX/1xahM61w=", "narHash": "sha256-p5e/45V41YD3tMELuiNIoVCa25/w4nhOTm0B9MtdHFI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c559542f0aa87971a7f4c1b3478fe33cc904b902", "rev": "a0046af169ce7b1da503974e1b22c48ef4d71887",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -288,14 +274,15 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1718893255, "lastModified": 1732920695,
"narHash": "sha256-NdSDGdz5eU/EcnGn8ECP1V+mn5hyGOZQ4ybv2bWTpuk=", "narHash": "sha256-1fxvJZUznwrmEtYqpPuWi2tPcL9kj6v7p1J7ZZncAPE=",
"owner": "hraban", "owner": "hraban",
"repo": "mac-app-util", "repo": "mac-app-util",
"rev": "1857b26aceaf64c2b6a357eb83cf34139b6365cc", "rev": "548672d0cb661ce11d08ee8bde92b87d2a75c872",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -307,52 +294,53 @@
"nextcloud-cookbook": { "nextcloud-cookbook": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1702545935, "lastModified": 1726214817,
"narHash": "sha256-19LN1nYJJ0RMWj6DrYPvHzocTyhMfYdpdhBFch3fpHE=", "narHash": "sha256-Pfa+Xbopg20os+pnGgg+wpEX1MI5fz5JMb0K4a8rBhs=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz" "url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz" "url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz"
} }
}, },
"nextcloud-external": { "nextcloud-external": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1699624334, "lastModified": 1729501349,
"narHash": "sha256-RCL2RP5twRDLxI/KfAX6QLYQOzqZmSWsfrC5ZQIwTD4=", "narHash": "sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz" "url": "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz" "url": "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz"
} }
}, },
"nextcloud-news": { "nextcloud-news": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1703426420, "lastModified": 1729667621,
"narHash": "sha256-AENBJH/bEob5JQvw4WEi864mdLYJ5Mqe78HJH6ceCpI=", "narHash": "sha256-pnvyMZQ+NYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz" "url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz" "url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz"
} }
}, },
"nextcloud-snappymail": { "nextcloud-snappymail": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-7oJEJ6t6iS/pcnSHashf1AkOEf+gKizpQHBy9XwY4Yo=", "lastModified": 1737171597,
"type": "file", "narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
"url": "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz" "type": "tarball",
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
}, },
"original": { "original": {
"type": "file", "type": "tarball",
"url": "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz" "url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
} }
}, },
"nix2vim": { "nix2vim": {
@ -363,11 +351,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718621825, "lastModified": 1732820845,
"narHash": "sha256-bSfjwRgKKpLyjEDPRAF1hlJKc7QDoqopalHwNCB/eAA=", "narHash": "sha256-YPXk41l4PzKb5rtcxkYhymwjHJG95fxl4iXIzXnftr8=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "nix2vim", "repo": "nix2vim",
"rev": "1db11dbf8a4d124e02244fa5c4ff219b672a8e5b", "rev": "e2c511ea553418dd432005875c649b09d56b7e58",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -378,11 +366,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1712450863, "lastModified": 1736643958,
"narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -399,11 +387,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718025593, "lastModified": 1737057290,
"narHash": "sha256-WZ1gdKq/9u1Ns/oXuNsDm+W0salonVA0VY1amw8urJ4=", "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "35c20ba421dfa5059e20e0ef2343c875372bdcf3", "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -414,11 +402,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1718895438, "lastModified": 1737062831,
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=", "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3", "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -428,29 +416,36 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-caddy": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1699107987, "lastModified": 1735563628,
"narHash": "sha256-nWXETr4Oqy/vOfzgWyMY04qzEN2iREFJc5ycQ3XNu0A=", "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "jpds", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a33b02fa9d664f31dadc8a874eb1a5dbaa9f4ecf", "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jpds", "owner": "nixos",
"ref": "caddy-external-plugins", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nur": { "nur": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": { "locked": {
"lastModified": 1719001822, "lastModified": 1737170882,
"narHash": "sha256-rbEP1CTzYvdSAKf1a729De9t8GMIrZ5GmD+PdYCnrgg=", "narHash": "sha256-Km700i1Eg72bFsU2X2ZgH4qEgx6SrdZFJURJGTSQH2M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "e7edcaeae9db01224266febe88eb7d3411055636", "rev": "62cdd681201843553ec740a85ccf2f0a6fca75c6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -462,11 +457,11 @@
"nvim-lint-src": { "nvim-lint-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1717789608, "lastModified": 1736154173,
"narHash": "sha256-LNYFxAM9lQNNOIOc+IgKgbSRp2U09B/9HivSCwMyUpQ=", "narHash": "sha256-OChCLXHAqa129NiGfmwddq0Hj5F9AtC3TmFbnNCZqfo=",
"owner": "mfussenegger", "owner": "mfussenegger",
"repo": "nvim-lint", "repo": "nvim-lint",
"rev": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce", "rev": "dfa45de973c3ce7bd1b9a6d346f896a68ad07e44",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -495,11 +490,11 @@
"nvim-tree-lua-src": { "nvim-tree-lua-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1717900986, "lastModified": 1737156486,
"narHash": "sha256-7KO3wPW65IH4m0jEoyFScNiAVwrlNHU+p0H55AuwlWk=", "narHash": "sha256-b8YOOIYML9aKy4Y7S+iLKIaTfCqrxK1wB/ZaeFRCUmo=",
"owner": "kyazdani42", "owner": "kyazdani42",
"repo": "nvim-tree.lua", "repo": "nvim-tree.lua",
"rev": "2086e564c4d23fea714e8a6d63b881e551af2f41", "rev": "fca0b67c0b5a31727fb33addc4d9c100736a2894",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -511,52 +506,20 @@
"nvim-treesitter-src": { "nvim-treesitter-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1718957498, "lastModified": 1705679158,
"narHash": "sha256-GEuKEAZxLGMkyjdJGzrIKNR1X10RHlACC6s1lNOq7aw=", "narHash": "sha256-zAyiitJIgOCZTB0CmgNt0MHENM70SOHLIoWrVwOJKFg=",
"owner": "nvim-treesitter", "owner": "nvim-treesitter",
"repo": "nvim-treesitter", "repo": "nvim-treesitter",
"rev": "b967bbc27b564001c3d3b8ea93444cf6d0b21d23", "rev": "f197a15b0d1e8d555263af20add51450e5aaa1f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nvim-treesitter", "owner": "nvim-treesitter",
"ref": "master", "ref": "v0.9.2",
"repo": "nvim-treesitter", "repo": "nvim-treesitter",
"type": "github" "type": "github"
} }
}, },
"ren": {
"flake": false,
"locked": {
"lastModified": 1704996573,
"narHash": "sha256-zVIt6Xp+Mvym6gySvHIZJt1QgzKVP/wbTGTubWk6kzI=",
"owner": "robenkleene",
"repo": "ren-find",
"rev": "50c40172e354caffee48932266edd7c7a76a20fd",
"type": "github"
},
"original": {
"owner": "robenkleene",
"repo": "ren-find",
"type": "github"
}
},
"rep": {
"flake": false,
"locked": {
"lastModified": 1707216692,
"narHash": "sha256-/dH+mNtNHaYFndVhoqmz4Sc3HeemoQt1HGD98mb9Qhw=",
"owner": "robenkleene",
"repo": "rep-grep",
"rev": "10510d47e392cb9d30a861c69f702fd194b3fa88",
"type": "github"
},
"original": {
"owner": "robenkleene",
"repo": "rep-grep",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"baleia-nvim-src": "baleia-nvim-src", "baleia-nvim-src": "baleia-nvim-src",
@ -566,7 +529,6 @@
"darwin": "darwin", "darwin": "darwin",
"disko": "disko", "disko": "disko",
"fidget-nvim-src": "fidget-nvim-src", "fidget-nvim-src": "fidget-nvim-src",
"firefox-darwin": "firefox-darwin",
"hmts-nvim-src": "hmts-nvim-src", "hmts-nvim-src": "hmts-nvim-src",
"home-manager": "home-manager", "home-manager": "home-manager",
"mac-app-util": "mac-app-util", "mac-app-util": "mac-app-util",
@ -577,16 +539,16 @@
"nix2vim": "nix2vim", "nix2vim": "nix2vim",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-caddy": "nixpkgs-caddy", "nixpkgs-stable": "nixpkgs-stable",
"nur": "nur", "nur": "nur",
"nvim-lint-src": "nvim-lint-src", "nvim-lint-src": "nvim-lint-src",
"nvim-lspconfig-src": "nvim-lspconfig-src", "nvim-lspconfig-src": "nvim-lspconfig-src",
"nvim-tree-lua-src": "nvim-tree-lua-src", "nvim-tree-lua-src": "nvim-tree-lua-src",
"nvim-treesitter-src": "nvim-treesitter-src", "nvim-treesitter-src": "nvim-treesitter-src",
"ren": "ren", "snipe-nvim-src": "snipe-nvim-src",
"rep": "rep",
"telescope-nvim-src": "telescope-nvim-src", "telescope-nvim-src": "telescope-nvim-src",
"telescope-project-nvim-src": "telescope-project-nvim-src", "telescope-project-nvim-src": "telescope-project-nvim-src",
"tiny-inline-diagnostic-nvim-src": "tiny-inline-diagnostic-nvim-src",
"toggleterm-nvim-src": "toggleterm-nvim-src", "toggleterm-nvim-src": "toggleterm-nvim-src",
"tree-sitter-bash": "tree-sitter-bash", "tree-sitter-bash": "tree-sitter-bash",
"tree-sitter-ini": "tree-sitter-ini", "tree-sitter-ini": "tree-sitter-ini",
@ -600,18 +562,34 @@
"zenyd-mpv-scripts": "zenyd-mpv-scripts" "zenyd-mpv-scripts": "zenyd-mpv-scripts"
} }
}, },
"snipe-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1736108869,
"narHash": "sha256-sJ71eiE0XmMJkhNCkbY82R4eHzBOOKFrPa+nxLc1f8s=",
"owner": "leath-dub",
"repo": "snipe.nvim",
"rev": "0d0a482ac713370196e4fc0025d5aaac5030104d",
"type": "github"
},
"original": {
"owner": "leath-dub",
"repo": "snipe.nvim",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1689347925,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-ozenz5bFe1UUqOn7f60HRmgc01BgTGIKZ4Xl+HbocGQ=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-darwin",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "2235d7e6cc29ae99878133c95e9fe5e157661ffb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-darwin",
"type": "github" "type": "github"
} }
}, },
@ -630,21 +608,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"telescope-nvim-src": { "telescope-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -665,11 +628,11 @@
"telescope-project-nvim-src": { "telescope-project-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1701464478, "lastModified": 1733083023,
"narHash": "sha256-touMCltcnqkrQYV1NtNeWLQeFVGt+WM3aIWIdKilA7w=", "narHash": "sha256-qEORRWYKBpK7fn7se8g+5uuVBJNu0T4JHSc0C2QzNDY=",
"owner": "nvim-telescope", "owner": "nvim-telescope",
"repo": "telescope-project.nvim", "repo": "telescope-project.nvim",
"rev": "1aaf16580a614601a7f7077d9639aeb457dc5559", "rev": "1d7920e799fc5001dffc7bd10909a86e0358eaf4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -678,19 +641,35 @@
"type": "github" "type": "github"
} }
}, },
"tiny-inline-diagnostic-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1736959343,
"narHash": "sha256-11+Z54shcy5oRevfTOu3dt5DtXhnYaH9zvktH6Lvxjs=",
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"rev": "aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8",
"type": "github"
},
"original": {
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"type": "github"
}
},
"toggleterm-nvim-src": { "toggleterm-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1713792255, "lastModified": 1721232722,
"narHash": "sha256-mM5bGgAemsRJD9U6U5K6ia5qb8NaTusM99x6xrtEBfw=", "narHash": "sha256-hJ6nBCgSyYF1pY4lX+b8WZd49i5F6BwOmrl7xVSIwRw=",
"owner": "akinsho", "owner": "akinsho",
"repo": "toggleterm.nvim", "repo": "toggleterm.nvim",
"rev": "066cccf48a43553a80a210eb3be89a15d789d6e6", "rev": "48be57eaba817f038d61bbf64d2c597f578c0827",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "akinsho", "owner": "akinsho",
"ref": "v2.11.0", "ref": "v2.12.0",
"repo": "toggleterm.nvim", "repo": "toggleterm.nvim",
"type": "github" "type": "github"
} }
@ -698,11 +677,11 @@
"tree-sitter-bash": { "tree-sitter-bash": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715005250, "lastModified": 1731338420,
"narHash": "sha256-rCuQbnQAOnQWKYreNH80nlL+0A1qbWbjMvtczcoWPrY=", "narHash": "sha256-JW+30zIyq8Xc7NG9V+YoFqC+57BjZXIbAvWPD2lqvIE=",
"owner": "tree-sitter", "owner": "tree-sitter",
"repo": "tree-sitter-bash", "repo": "tree-sitter-bash",
"rev": "2fbd860f802802ca76a6661ce025b3a3bca2d3ed", "rev": "49c31006d8307dcb12bc5770f35b6d5b9e2be68e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -715,11 +694,11 @@
"tree-sitter-ini": { "tree-sitter-ini": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1716889525, "lastModified": 1725233451,
"narHash": "sha256-IyHrIxcmuzs60zUiJv4E3nSkhSkgbcaLDUdeDx5mlHk=", "narHash": "sha256-G11Aynq2rnkRwdkhspjYqtBD/h5k4aD+NvuE0QfploU=",
"owner": "justinmk", "owner": "justinmk",
"repo": "tree-sitter-ini", "repo": "tree-sitter-ini",
"rev": "87176e524f0a98f5be75fa44f4f0ff5c6eac069c", "rev": "962568c9efa71d25720ab42c5d36e222626ef3a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -731,11 +710,11 @@
"tree-sitter-lua": { "tree-sitter-lua": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1710150044, "lastModified": 1729494737,
"narHash": "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=", "narHash": "sha256-v+fFcIOv+bu+2IGI/Lh/Xbqd5BzbBjaa51ECd0hG7Ow=",
"owner": "MunifTanjim", "owner": "MunifTanjim",
"repo": "tree-sitter-lua", "repo": "tree-sitter-lua",
"rev": "a24dab177e58c9c6832f96b9a73102a0cfbced4a", "rev": "34e60e7f45fc313463c68090d88d742a55d1bd7a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -748,11 +727,11 @@
"tree-sitter-puppet": { "tree-sitter-puppet": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1713617121, "lastModified": 1734835631,
"narHash": "sha256-+zMgzyuGerJ8l+i5ZtWnmGr3i4fFiSLD5FssyKESsmI=", "narHash": "sha256-bO5g5AdhzpB13yHklpAndUHIX7Rvd7OMjH0Ds2ATA6Q=",
"owner": "amaanq", "owner": "amaanq",
"repo": "tree-sitter-puppet", "repo": "tree-sitter-puppet",
"rev": "584522f32495d648b18a53ccb52d988e60de127d", "rev": "15f192929b7d317f5914de2b4accd37b349182a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -764,11 +743,11 @@
"tree-sitter-python": { "tree-sitter-python": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1714528221, "lastModified": 1736288149,
"narHash": "sha256-hHQ5gK4dTRSdp0fLKarytU9vFhsBeQp7Ka61vFoIr7Y=", "narHash": "sha256-IIAL2qteFPBCPmDK1N2EdDgpI4CwfMuuVL8t5tYueLU=",
"owner": "tree-sitter", "owner": "tree-sitter",
"repo": "tree-sitter-python", "repo": "tree-sitter-python",
"rev": "71778c2a472ed00a64abf4219544edbf8e4b86d7", "rev": "409b5d671eb0ea4972eeacaaca24bbec1acf79b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -797,11 +776,11 @@
"tree-sitter-vimdoc": { "tree-sitter-vimdoc": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1717834376, "lastModified": 1729686839,
"narHash": "sha256-v+XSWGm2Wdn9/rxNFMqXYACkGn6AvxZdxkClLuKnWGU=", "narHash": "sha256-Vrl4/cZL+TWlUMEeWZoHCAWhvlefcl3ajGcwyTNKOhI=",
"owner": "neovim", "owner": "neovim",
"repo": "tree-sitter-vimdoc", "repo": "tree-sitter-vimdoc",
"rev": "2249c44ecd3f5cf22da3dcccfb74f816ddb29245", "rev": "d2e4b5c172a109966c2ce0378f73df6cede39400",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -810,6 +789,27 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"wallpapers": { "wallpapers": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -829,17 +829,16 @@
"wsl": { "wsl": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1718710563, "lastModified": 1736095716,
"narHash": "sha256-O4rrM0Bkh3IRe8D600iniQ52QTmlnuTSp2KyXV7C2jE=", "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "2fb93bea657ad99a7005ef601c67cb2820560a41", "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0",
"type": "github" "type": "github"
}, },
"original": { "original": {

166
flake.nix
View File

@ -1,5 +1,5 @@
{ {
description = "My system"; description = "An opinionated flake containing the NixOS, nix-darwin, and home-manager configurations for multiple systems.";
# Other flakes that we want to pull from # Other flakes that we want to pull from
inputs = { inputs = {
@ -7,8 +7,8 @@
# Used for system packages # Used for system packages
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Used for caddy plugins # Used for specific stable packages
nixpkgs-caddy.url = "github:jpds/nixpkgs/caddy-external-plugins"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
# Used for MacOS system config # Used for MacOS system config
darwin = { darwin = {
@ -29,14 +29,17 @@
}; };
# Community packages; used for Firefox extensions # Community packages; used for Firefox extensions
nur.url = "github:nix-community/nur"; nur = {
url = "github:nix-community/nur";
# Use official Firefox binary for macOS
firefox-darwin = {
url = "github:bandithedoge/nixpkgs-firefox-darwin";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# # Use official Firefox binary for macOS
# firefox-darwin = {
# url = "github:bandithedoge/nixpkgs-firefox-darwin";
# inputs.nixpkgs.follows = "nixpkgs";
# };
# Better App install management in macOS # Better App install management in macOS
mac-app-util = { mac-app-util = {
url = "github:hraban/mac-app-util"; url = "github:hraban/mac-app-util";
@ -88,7 +91,7 @@
}; };
nvim-treesitter-src = { nvim-treesitter-src = {
# https://github.com/nvim-treesitter/nvim-treesitter/tags # https://github.com/nvim-treesitter/nvim-treesitter/tags
url = "github:nvim-treesitter/nvim-treesitter/master"; url = "github:nvim-treesitter/nvim-treesitter/v0.9.2";
flake = false; flake = false;
}; };
telescope-nvim-src = { telescope-nvim-src = {
@ -102,7 +105,7 @@
}; };
toggleterm-nvim-src = { toggleterm-nvim-src = {
# https://github.com/akinsho/toggleterm.nvim/tags # https://github.com/akinsho/toggleterm.nvim/tags
url = "github:akinsho/toggleterm.nvim/v2.11.0"; url = "github:akinsho/toggleterm.nvim/v2.12.0";
flake = false; flake = false;
}; };
bufferline-nvim-src = { bufferline-nvim-src = {
@ -127,6 +130,14 @@
url = "github:mfussenegger/nvim-lint"; url = "github:mfussenegger/nvim-lint";
flake = false; flake = false;
}; };
tiny-inline-diagnostic-nvim-src = {
url = "github:rachartier/tiny-inline-diagnostic.nvim";
flake = false;
};
snipe-nvim-src = {
url = "github:leath-dub/snipe.nvim";
flake = false;
};
# Tree-Sitter Grammars # Tree-Sitter Grammars
tree-sitter-bash = { tree-sitter-bash = {
@ -164,36 +175,34 @@
flake = false; flake = false;
}; };
# Ren and rep - CLI find and replace # # Git alternative
rep = { # # Fixes: https://github.com/martinvonz/jj/issues/4784
url = "github:robenkleene/rep-grep"; # jujutsu = {
flake = false; # url = "github:martinvonz/jj";
}; # inputs.nixpkgs.follows = "nixpkgs";
ren = { # };
url = "github:robenkleene/ren-find";
flake = false;
};
# Nextcloud Apps # Nextcloud Apps
nextcloud-news = { nextcloud-news = {
# https://github.com/nextcloud/news/releases # https://github.com/nextcloud/news/releases
url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz"; url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz";
flake = false; flake = false;
}; };
nextcloud-external = { nextcloud-external = {
# https://github.com/nextcloud-releases/external/releases # https://github.com/nextcloud-releases/external/releases
url = "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz"; url = "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz";
flake = false; flake = false;
}; };
nextcloud-cookbook = { nextcloud-cookbook = {
# https://github.com/christianlupus-nextcloud/cookbook-releases/releases/ # https://github.com/christianlupus-nextcloud/cookbook-releases/releases/
url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz"; url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz";
flake = false; flake = false;
}; };
nextcloud-snappymail = { nextcloud-snappymail = {
# https://github.com/the-djmaze/snappymail/releases # https://github.com/the-djmaze/snappymail/releases
# https://snappymail.eu/repository/nextcloud # https://snappymail.eu/repository/nextcloud
url = "file+https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz"; url = "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz";
# url = "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.3/snappymail-2.36.3-nextcloud.tar.gz";
flake = false; flake = false;
}; };
}; };
@ -218,36 +227,38 @@
mail.smtpHost = "smtp.purelymail.com"; mail.smtpHost = "smtp.purelymail.com";
dotfilesRepo = "https://github.com/nmasur/dotfiles"; dotfilesRepo = "https://github.com/nmasur/dotfiles";
hostnames = { hostnames = {
audiobooks = "read.${baseName}";
budget = "money.${baseName}";
files = "files.${baseName}";
git = "git.${baseName}"; git = "git.${baseName}";
influxdb = "influxdb.${baseName}"; influxdb = "influxdb.${baseName}";
irc = "irc.${baseName}"; irc = "irc.${baseName}";
metrics = "metrics.${baseName}"; metrics = "metrics.${baseName}";
minecraft = "minecraft.${baseName}"; minecraft = "minecraft.${baseName}";
n8n = "n8n2.${baseName}"; n8n = "n8n.${baseName}";
notifications = "ntfy.${baseName}";
prometheus = "prom.${baseName}"; prometheus = "prom.${baseName}";
paperless = "paper.${baseName}"; paperless = "paper.${baseName}";
photos = "photos.${baseName}";
secrets = "vault.${baseName}"; secrets = "vault.${baseName}";
stream = "stream.${baseName}"; stream = "stream.${baseName}";
content = "cloud.${baseName}"; content = "cloud.${baseName}";
books = "books.${baseName}"; books = "books.${baseName}";
download = "download.${baseName}"; download = "download.${baseName}";
status = "status.${baseName}";
transmission = "transmission.${baseName}"; transmission = "transmission.${baseName}";
}; };
}; };
# Common overlays to always use # Common overlays to always use
overlays = [ overlays = [
inputs.nur.overlay inputs.nur.overlays.default
inputs.nix2vim.overlay inputs.nix2vim.overlay
# inputs.jujutsu.overlays.default # Fix: https://github.com/martinvonz/jj/issues/4784
(import ./overlays/neovim-plugins.nix inputs) (import ./overlays/neovim-plugins.nix inputs)
(import ./overlays/calibre-web.nix)
(import ./overlays/disko.nix inputs)
(import ./overlays/tree-sitter.nix inputs) (import ./overlays/tree-sitter.nix inputs)
(import ./overlays/mpv-scripts.nix inputs) (import ./overlays/mpv-scripts.nix inputs)
(import ./overlays/nextcloud-apps.nix inputs) (import ./overlays/nextcloud-apps.nix inputs)
(import ./overlays/betterlockscreen.nix)
(import ./overlays/gh-collaborators.nix)
(import ./overlays/ren-rep.nix inputs)
]; ];
# System types to support. # System types to support.
@ -260,28 +271,97 @@
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'. # Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
forAllSystems = nixpkgs.lib.genAttrs supportedSystems; forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
# { system -> pkgs }
pkgsBySystem = forAllSystems (system: import nixpkgs { inherit system overlays; });
# stablePkgsBySystem = forAllSystems (system: import nixpkgs { inherit system overlays; });
buildHome =
{ pkgs, modules }:
inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = modules ++ [
./platforms/home-manager
];
};
buildNixos =
{ pkgs, modules }:
nixpkgs.lib.nixosSystem {
inherit pkgs;
modules = modules ++ [
inputs.home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko
inputs.wsl.nixosModules.wsl
./platforms/nixos
];
};
buildDarwin =
{ pkgs, modules }:
inputs.darwin.lib.darwinSystem {
inherit pkgs;
modules = modules ++ [
inputs.home-manager.darwinModules.home-manager
inputs.mac-app-util.darwinModules.default
./platforms/nix-darwin
];
};
in in
rec { rec {
# The plan
# Import all the host configurations as modules
# Setup the modules as nixosModules, homeModules, darwinModules
# Create nixosConfigurations using the different pkgs for each system
# What to do with home config?
nixosModules = import ./hosts/x86_64-linux nixpkgs // import ./hosts/aarch64-linux nixpkgs;
# Contains my full system builds, including home-manager # Contains my full system builds, including home-manager
# nixos-rebuild switch --flake .#tempest # nixos-rebuild switch --flake .#tempest
nixosConfigurations = { nixosConfigurations =
arrow = import ./hosts/arrow { inherit inputs globals overlays; }; (builtins.mapAttrs (
tempest = import ./hosts/tempest { inherit inputs globals overlays; }; name: module:
hydra = import ./hosts/hydra { inherit inputs globals overlays; }; buildNixos {
flame = import ./hosts/flame { inherit inputs globals overlays; }; pkgs = pkgsBySystem.x86_64-linux;
swan = import ./hosts/swan { inherit inputs globals overlays; }; modules = [ module ];
}; }
) nixosModules)
// (builtins.mapAttrs (
name: module:
buildNixos {
pkgs = pkgsBySystem.aarch64-linux;
modules = [ module ];
}
) nixosModules);
# builtins.mapAttrs buildNixos {
# pkgs = pkgsBySystem.x86_64-linux;
# modules = import ./hosts/x86_64-linux;
# }
# // builtins.mapAttrs buildNixos {
# pkgs = pkgsBySystem.aarch64-linux;
# modules = import ./hosts/aarch64-linux;
# };
# Contains my full Mac system builds, including home-manager # Contains my full Mac system builds, including home-manager
# darwin-rebuild switch --flake .#lookingglass # darwin-rebuild switch --flake .#lookingglass
darwinConfigurations = { darwinConfigurations = builtins.mapAttrs buildDarwin {
lookingglass = import ./hosts/lookingglass { inherit inputs globals overlays; }; pkgs = pkgsBySystem.aarch64-darwin;
modules = import ./hosts/darwin;
}; };
# For quickly applying home-manager settings with: # For quickly applying home-manager settings with:
# home-manager switch --flake .#tempest # home-manager switch --flake .#tempest
homeConfigurations = { homeConfigurations = rec {
default = personal;
work = buildHome {
pkgs = pkgsBySystem.aarch64-darwin;
modules = { };
};
personal = buildHome {
};
tempest = nixosConfigurations.tempest.config.home-manager.users.${globals.user}.home; tempest = nixosConfigurations.tempest.config.home-manager.users.${globals.user}.home;
lookingglass = darwinConfigurations.lookingglass.config.home-manager.users."Noah.Masur".home; lookingglass = darwinConfigurations.lookingglass.config.home-manager.users."Noah.Masur".home;
}; };
@ -318,17 +398,11 @@
x86_64-linux.arrow = inputs.nixos-generators.nixosGenerate rec { x86_64-linux.arrow = inputs.nixos-generators.nixosGenerate rec {
system = "x86_64-linux"; system = "x86_64-linux";
format = "iso"; format = "iso";
specialArgs = {
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; }; modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; };
}; };
x86_64-linux.arrow-aws = inputs.nixos-generators.nixosGenerate rec { x86_64-linux.arrow-aws = inputs.nixos-generators.nixosGenerate rec {
system = "x86_64-linux"; system = "x86_64-linux";
format = "amazon"; format = "amazon";
specialArgs = {
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; } ++ [ modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; } ++ [
( (
{ ... }: { ... }:

View File

@ -0,0 +1,16 @@
# Return a list of all nix-darwin hosts
{ lib, ... }:
lib.pipe (lib.filesystem.listFilesRecursive ./.) [
# Get only files ending in default.nix
(builtins.filter (name: lib.hasSuffix "default.nix" name))
# Import each host function
map
(file: {
name = builtins.baseNameOf (builtins.dirOf file);
value = import file;
})
# Convert to an attrset of hostname -> host function
(builtins.listToAttrs)
]

View File

@ -26,7 +26,8 @@ inputs.darwin.lib.darwinSystem {
inputs.mac-app-util.darwinModules.default inputs.mac-app-util.darwinModules.default
{ {
nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays; nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
networking.hostName = "lookingglass"; networking.hostName = "NYCM-NMASUR2";
networking.computerName = "NYCM-NMASUR2";
identityFile = "/Users/Noah.Masur/.ssh/id_ed25519"; identityFile = "/Users/Noah.Masur/.ssh/id_ed25519";
gui.enable = true; gui.enable = true;
theme = { theme = {
@ -34,7 +35,6 @@ inputs.darwin.lib.darwinSystem {
dark = true; dark = true;
}; };
mail.user = globals.user; mail.user = globals.user;
mole.enable = true;
atuin.enable = true; atuin.enable = true;
charm.enable = true; charm.enable = true;
neovim.enable = true; neovim.enable = true;
@ -54,6 +54,7 @@ inputs.darwin.lib.darwinSystem {
_1password.enable = true; _1password.enable = true;
slack.enable = true; slack.enable = true;
wezterm.enable = true; wezterm.enable = true;
yt-dlp.enable = true;
} }
]; ];
} }

View File

@ -0,0 +1,20 @@
# Return a list of all NixOS hosts
{ nixpkgs, ... }:
let
inherit (nixpkgs) lib;
in
lib.pipe (lib.filesystem.listFilesRecursive ./.) [
# Get only files ending in default.nix
(builtins.filter (name: lib.hasSuffix "default.nix" name))
# Import each host function
map
(file: {
name = builtins.baseNameOf (builtins.dirOf file);
value = import file;
})
# Convert to an attrset of hostname -> host function
(builtins.listToAttrs)
]

6
hosts/default.nix Normal file
View File

@ -0,0 +1,6 @@
# Return a list of all hosts
{
darwin-hosts = import ./aarch64-darwin;
linux-hosts = import ./x86_64-linux // import ./aarch64-linux;
}

View File

@ -1,43 +1,32 @@
# The Flame # The Flame
# System configuration for an Oracle free server # System configuration for an Oracle free server
# See [readme](../README.md) to explain how this file works.
# How to install: # How to install:
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/ # https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
# These days, probably use nixos-anywhere instead. # These days, probably use nixos-anywhere instead.
{ rec {
inputs,
globals,
overlays,
...
}:
inputs.nixpkgs.lib.nixosSystem rec {
system = "aarch64-linux";
specialArgs = {
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [
globals
inputs.home-manager.nixosModules.home-manager
../../modules/common
../../modules/nixos
{
nixpkgs.overlays = overlays;
# Hardware # Hardware
server = true;
networking.hostName = "flame"; networking.hostName = "flame";
# Not sure what's necessary but too afraid to remove anything nmasur.settings = {
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ]; username = "noah";
boot.initrd.availableKernelModules = [ fullName = "Noah Masur";
"xhci_pci" };
"virtio_pci"
"usbhid" nmasur.profiles = {
]; base.enable = true;
server.enable = true;
communications.enable = true;
};
home-manager.users."noah" = {
nmasur.settings = nmasur.settings;
nmasur.profiles = {
common.enable = true;
linux-base.enable = true;
};
};
# File systems must be declared in order to boot # File systems must be declared in order to boot
@ -54,81 +43,12 @@ inputs.nixpkgs.lib.nixosSystem rec {
fsType = "vfat"; fsType = "vfat";
}; };
# Theming
# Server doesn't require GUI
gui.enable = false;
# Still require colors for programs like Neovim, K9S
theme = {
colors = (import ../../colorscheme/gruvbox).dark;
};
# Programs and services
atuin.enable = true;
cloudflare.enable = true; # Proxy traffic with Cloudflare
dotfiles.enable = true; # Clone dotfiles
neovim.enable = true;
giteaRunner.enable = true;
services.caddy.enable = true;
services.grafana.enable = true;
services.thelounge.enable = true;
services.openssh.enable = true;
services.victoriametrics.enable = true;
services.influxdb2.enable = true;
services.gitea.enable = true;
services.vaultwarden.enable = true;
services.minecraft-server.enable = true; # Setup Minecraft server
system.autoUpgrade.enable = true;
# Allows private remote access over the internet # Allows private remote access over the internet
cloudflareTunnel = { nmasur.presets.services.cloudflared = {
enable = true; tunnel = {
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2"; id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
credentialsFile = ../../private/cloudflared-flame.age; credentialsFile = ../../private/cloudflared-flame.age;
ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org"; ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
}; };
# Nextcloud backup config
backup.s3 = {
endpoint = "s3.us-west-002.backblazeb2.com";
bucket = "noahmasur-backup";
accessKeyId = "0026b0e73b2e2c80000000005";
}; };
# Disable passwords, only use SSH key
publicKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
];
# # Wireguard config for Transmission
# wireguard.enable = true;
# networking.wireguard.interfaces.wg0 = {
#
# # The local IPs for this machine within the Wireguard network
# # Any inbound traffic bound for these IPs should be kept on localhost
# ips = [ "10.66.13.200/32" "fc00:bbbb:bbbb:bb01::3:dc7/128" ];
#
# peers = [{
#
# # Identity of Wireguard target peer (VPN)
# publicKey = "bOOP5lIjqCdDx5t+mP/kEcSbHS4cZqE0rMlBI178lyY=";
#
# # The public internet address of the target peer
# endpoint = "86.106.143.132:51820";
#
# # Which outgoing IP ranges should be sent through Wireguard
# allowedIPs = [ "0.0.0.0/0" "::0/0" ];
#
# # Send heartbeat signal within the network
# persistentKeepalive = 25;
#
# }];
#
# };
# # VPN port forwarding
# services.transmission.settings.peer-port = 57599;
}
];
} }

View File

@ -0,0 +1,20 @@
# Return a list of all NixOS hosts
{ nixpkgs, ... }:
let
inherit (nixpkgs) lib;
in
lib.pipe (lib.filesystem.listFilesRecursive ./.) [
# Get only files ending in default.nix
(builtins.filter (name: lib.hasSuffix "default.nix" name))
# Import each host function
map
(file: {
name = builtins.baseNameOf (builtins.dirOf file);
value = import file;
})
# Convert to an attrset of hostname -> host function
(builtins.listToAttrs)
]

View File

@ -8,11 +8,8 @@
... ...
}: }:
inputs.nixpkgs.lib.nixosSystem rec { inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [ modules = [
globals globals
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -66,6 +63,14 @@ inputs.nixpkgs.lib.nixosSystem rec {
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; }); devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
}; };
zramSwap.enable = true;
swapDevices = [
{
device = "/swapfile";
size = 4 * 1024; # 4 GB
}
];
boot.zfs = { boot.zfs = {
# Automatically load the ZFS pool on boot # Automatically load the ZFS pool on boot
extraPools = [ "tank" ]; extraPools = [ "tank" ];
@ -96,8 +101,11 @@ inputs.nixpkgs.lib.nixosSystem rec {
cloudflare.enable = true; cloudflare.enable = true;
dotfiles.enable = true; dotfiles.enable = true;
arrs.enable = true; arrs.enable = true;
filebrowser.enable = true;
services.audiobookshelf.enable = true;
services.bind.enable = true; services.bind.enable = true;
services.caddy.enable = true; services.caddy.enable = true;
services.immich.enable = true;
services.jellyfin.enable = true; services.jellyfin.enable = true;
services.nextcloud.enable = true; services.nextcloud.enable = true;
services.calibre-web.enable = true; services.calibre-web.enable = true;
@ -122,6 +130,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
endpoint = "s3.us-west-002.backblazeb2.com"; endpoint = "s3.us-west-002.backblazeb2.com";
bucket = "noahmasur-backup"; bucket = "noahmasur-backup";
accessKeyId = "0026b0e73b2e2c80000000005"; accessKeyId = "0026b0e73b2e2c80000000005";
resticBucket = "noahmasur-restic";
}; };
# Disable passwords, only use SSH key # Disable passwords, only use SSH key

View File

@ -8,8 +8,12 @@
... ...
}: }:
inputs.nixpkgs.lib.nixosSystem { inputs.nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [ modules = [
globals globals
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -37,6 +41,12 @@ inputs.nixpkgs.lib.nixosSystem {
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
services.xserver.videoDrivers = [ "amdgpu" ]; services.xserver.videoDrivers = [ "amdgpu" ];
# I don't think I need this?
# boot.kernelParams = [
# "video=DP-0:2560x1440@165"
# "video=DP-1:1920x1080@60"
# ];
# Required binary blobs to boot on this machine # Required binary blobs to boot on this machine
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
@ -118,6 +128,7 @@ inputs.nixpkgs.lib.nixosSystem {
dwarf-fortress.enable = true; dwarf-fortress.enable = true;
enable = true; enable = true;
steam.enable = true; steam.enable = true;
moonlight.enable = true;
legendary.enable = true; legendary.enable = true;
lutris.enable = true; lutris.enable = true;
ryujinx.enable = true; ryujinx.enable = true;

View File

@ -1,9 +0,0 @@
{ ... }:
{
# AWS settings require this
permitRootLogin = "prohibit-password";
# Make sure disk size is large enough
# https://github.com/nix-community/nixos-generators/issues/150
amazonImage.sizeMB = 16 * 1024;
}

View File

@ -1,42 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
_1password = {
enable = lib.mkEnableOption {
description = "Enable 1Password.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config._1password.enable) {
unfreePackages = [
"1password"
"_1password-gui"
"1password-cli"
];
home-manager.users.${config.user} = {
home.packages = with pkgs; [
_1password-gui
_1password
];
};
# https://1password.community/discussion/135462/firefox-extension-does-not-connect-to-linux-app
# On Mac, does not apply: https://1password.community/discussion/142794/app-and-browser-integration
# However, the button doesn't work either:
# https://1password.community/discussion/140735/extending-support-for-trusted-web-browsers
environment.etc."1password/custom_allowed_browsers".text = ''
${
config.home-manager.users.${config.user}.programs.firefox.package
}/Applications/Firefox.app/Contents/MacOS/firefox
firefox
'';
};
}

View File

@ -1,107 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
alacritty = {
enable = lib.mkEnableOption {
description = "Enable Alacritty.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.alacritty.enable) {
home-manager.users.${config.user} = {
xsession.windowManager.i3.config.terminal = "alacritty";
programs.rofi.terminal = "${pkgs.alacritty}/bin/alacritty";
programs.alacritty = {
enable = true;
settings = {
window = {
dimensions = {
columns = 85;
lines = 30;
};
padding = {
x = 20;
y = 20;
};
opacity = 1.0;
};
scrolling.history = 10000;
font = {
size = 14.0;
};
key_bindings = [
# Used for word completion in fish_user_key_bindings
{
key = "Return";
mods = "Shift";
chars = "\\x1F";
}
# Used for searching nixpkgs in fish_user_key_bindings
{
key = "N";
mods = "Control|Shift";
chars = "\\x11F";
}
{
key = "H";
mods = "Control|Shift";
mode = "~Vi";
action = "ToggleViMode";
}
{
key = "Return";
mode = "Vi";
action = "ToggleViMode";
}
# Used to enable $ keybind in Vi mode
{
key = 5; # Scancode for key4
mods = "Shift";
mode = "Vi|~Search";
action = "Last";
}
];
colors = {
primary = {
background = config.theme.colors.base00;
foreground = config.theme.colors.base05;
};
cursor = {
text = "#1d2021";
cursor = config.theme.colors.base05;
};
normal = {
black = "#1d2021";
red = config.theme.colors.base08;
green = config.theme.colors.base0B;
yellow = config.theme.colors.base0A;
blue = config.theme.colors.base0D;
magenta = config.theme.colors.base0E;
cyan = config.theme.colors.base0C;
white = config.theme.colors.base05;
};
bright = {
black = config.theme.colors.base03;
red = config.theme.colors.base09;
green = config.theme.colors.base01;
yellow = config.theme.colors.base02;
blue = config.theme.colors.base04;
magenta = config.theme.colors.base06;
cyan = config.theme.colors.base0F;
white = config.theme.colors.base07;
};
};
draw_bold_text_with_bright_colors = false;
};
};
};
};
}

View File

@ -1,18 +0,0 @@
{ ... }:
{
imports = [
./1password.nix
./alacritty.nix
./discord.nix
./firefox.nix
./kitty.nix
./media.nix
./mole.nix
./obsidian.nix
./qbittorrent.nix
./slack.nix
./wezterm.nix
./yt-dlp.nix
];
}

View File

@ -1,34 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
discord = {
enable = lib.mkEnableOption {
description = "Enable Discord.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.discord.enable) {
unfreePackages = [ "discord" ];
environment.systemPackages = [ pkgs.discord ];
home-manager.users.${config.user} = {
xdg.configFile."discord/settings.json".text = ''
{
"BACKGROUND_COLOR": "#202225",
"IS_MAXIMIZED": false,
"IS_MINIMIZED": false,
"OPEN_ON_STARTUP": false,
"MINIMIZE_TO_TRAY": false,
"SKIP_HOST_UPDATE": true
}
'';
};
};
}

View File

@ -1,192 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
firefox = {
enable = lib.mkEnableOption {
description = "Enable Firefox.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.firefox.enable) {
unfreePackages = [
(lib.mkIf config._1password.enable "onepassword-password-manager")
"okta-browser-plugin"
];
home-manager.users.${config.user} = {
programs.firefox = {
enable = true;
package = if pkgs.stdenv.isDarwin then pkgs.firefox-bin else pkgs.firefox;
profiles.default = {
id = 0;
name = "default";
isDefault = true;
# https://nur.nix-community.org/repos/rycee/
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
(lib.mkIf config._1password.enable onepassword-password-manager)
darkreader
don-t-fuck-with-paste
facebook-container
markdownload
multi-account-containers
okta-browser-plugin
reddit-enhancement-suite
return-youtube-dislikes
sponsorblock
ublock-origin
ublacklist
vimium
];
settings = {
"app.update.auto" = false;
"browser.aboutConfig.showWarning" = false;
"browser.warnOnQuit" = false;
"browser.quitShortcut.disabled" = if pkgs.stdenv.isLinux then true else false;
"browser.theme.dark-private-windows" = true;
"browser.toolbars.bookmarks.visibility" = false;
"browser.startup.page" = 3; # Restore previous session
"browser.newtabpage.enabled" = false; # Make new tabs blank
"trailhead.firstrun.didSeeAboutWelcome" = true; # Disable welcome splash
"dom.forms.autocomplete.formautofill" = false; # Disable autofill
"extensions.formautofill.creditCards.enabled" = false; # Disable credit cards
"dom.payments.defaults.saveAddress" = false; # Disable address save
"general.autoScroll" = true; # Drag middle-mouse to scroll
"services.sync.prefs.sync.general.autoScroll" = false; # Prevent disabling autoscroll
"extensions.pocket.enabled" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Allow userChrome.css
"layout.css.color-mix.enabled" = true;
"ui.systemUsesDarkTheme" = if config.theme.dark == true then 1 else 0;
"media.ffmpeg.vaapi.enabled" = true; # Enable hardware video acceleration
"cookiebanners.ui.desktop.enabled" = true; # Reject cookie popups
"devtools.command-button-screenshot.enabled" = true; # Scrolling screenshot of entire page
"svg.context-properties.content.enabled" = true; # Sidebery styling
};
userChrome = ''
:root {
--focus-outline-color: ${config.theme.colors.base04} !important;
--toolbar-color: ${config.theme.colors.base07} !important;
--tab-min-height: 30px !important;
}
/* Background of tab bar */
.toolbar-items {
background-color: ${config.theme.colors.base00} !important;
}
/* Extra tab bar sides on macOS */
.titlebar-spacer {
background-color: ${config.theme.colors.base00} !important;
}
.titlebar-buttonbox-container {
background-color: ${config.theme.colors.base00} !important;
}
#tabbrowser-tabs {
border-inline-start: 0 !important;
}
/* Private Browsing indicator on macOS */
#private-browsing-indicator-with-label {
background-color: ${config.theme.colors.base00} !important;
margin-inline: 0 !important;
padding-inline: 7px;
}
/* Tabs themselves */
.tabbrowser-tab .tab-stack {
border-radius: 5px 5px 0 0;
overflow: hidden;
background-color: ${config.theme.colors.base00};
color: ${config.theme.colors.base06} !important;
}
.tab-content {
border-bottom: 2px solid color-mix(in srgb, var(--identity-tab-color) 40%, transparent);
border-radius: 5px 5px 0 0;
background-color: ${config.theme.colors.base00};
color: ${config.theme.colors.base06} !important;
}
.tab-content[selected] {
border-bottom: 2px solid color-mix(in srgb, var(--identity-tab-color) 25%, transparent);
background-color: ${config.theme.colors.base01} !important;
color: ${config.theme.colors.base07} !important;
}
/* Below tab bar */
#nav-bar {
background: ${config.theme.colors.base01} !important;
}
/* URL bar in nav bar */
#urlbar[focused=true] {
color: ${config.theme.colors.base07} !important;
background: ${config.theme.colors.base02} !important;
caret-color: ${config.theme.colors.base05} !important;
}
#urlbar:not([focused=true]) {
color: ${config.theme.colors.base04} !important;
background: ${config.theme.colors.base02} !important;
}
#urlbar ::-moz-selection {
color: ${config.theme.colors.base07} !important;
background: ${config.theme.colors.base02} !important;
}
#urlbar-input-container {
border: 1px solid ${config.theme.colors.base01} !important;
}
#urlbar-background {
background: ${config.theme.colors.base01} !important;
}
/* Text in URL bar */
#urlbar-input, #urlbar-scheme, .searchbar-textbox {
color: ${config.theme.colors.base07} !important;
}
'';
userContent = ''
@-moz-document url-prefix(about:blank) {
* {
background-color:${config.theme.colors.base01} !important;
}
}
'';
extraConfig = "";
};
};
xdg.mimeApps = {
associations.added = {
"text/html" = [ "firefox.desktop" ];
};
defaultApplications = {
"text/html" = [ "firefox.desktop" ];
};
associations.removed = {
"text/html" = [ "wine-extension-htm.desktop" ];
};
};
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
"${
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
}+Shift+b" = "exec ${
# Don't name the script `firefox` or it will affect grep
builtins.toString (
pkgs.writeShellScript "focus-ff.sh" ''
count=$(ps aux | grep -c firefox)
if [ "$count" -eq 1 ]; then
i3-msg "exec --no-startup-id firefox"
sleep 0.5
fi
i3-msg "[class=firefox] focus"
''
)
}";
};
};
};
}

View File

@ -1,115 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
kitty = {
enable = lib.mkEnableOption {
description = "Enable Kitty.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.kitty.enable) {
# Set the Rofi-Systemd terminal for viewing logs
# Using optionalAttrs because only available in NixOS
environment =
{ }
// lib.attrsets.optionalAttrs (builtins.hasAttr "sessionVariables" config.environment) {
sessionVariables.ROFI_SYSTEMD_TERM = lib.mkDefault "${pkgs.kitty}/bin/kitty";
};
home-manager.users.${config.user} = {
# Set the i3 terminal
xsession.windowManager.i3.config.terminal = lib.mkIf pkgs.stdenv.isLinux "kitty";
# Set the Rofi terminal for running programs
programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty");
# Display images in the terminal
programs.fish.shellAliases = {
icat = "kitty +kitten icat";
ssh = "kitty +kitten ssh";
};
programs.kitty = {
enable = true;
environment = { };
extraConfig = "";
font.size = 14;
keybindings = {
# Use shift+enter to complete text suggestions in fish
"shift+enter" = "send_text all \\x1F";
# Easy fullscreen toggle (for macOS)
"super+f" = "toggle_fullscreen";
};
settings = {
# Colors (adapted from: https://github.com/kdrag0n/base16-kitty/blob/master/templates/default-256.mustache)
background = config.theme.colors.base00;
foreground = config.theme.colors.base05;
selection_background = config.theme.colors.base05;
selection_foreground = config.theme.colors.base00;
url_color = config.theme.colors.base04;
cursor = config.theme.colors.base05;
active_border_color = config.theme.colors.base03;
inactive_border_color = config.theme.colors.base01;
active_tab_background = config.theme.colors.base00;
active_tab_foreground = config.theme.colors.base05;
inactive_tab_background = config.theme.colors.base01;
inactive_tab_foreground = config.theme.colors.base04;
tab_bar_background = config.theme.colors.base01;
# normal
color0 = config.theme.colors.base00;
color1 = config.theme.colors.base08;
color2 = config.theme.colors.base0B;
color3 = config.theme.colors.base0A;
color4 = config.theme.colors.base0D;
color5 = config.theme.colors.base0E;
color6 = config.theme.colors.base0C;
color7 = config.theme.colors.base05;
# bright
color8 = config.theme.colors.base03;
color9 = config.theme.colors.base08;
color10 = config.theme.colors.base0B;
color11 = config.theme.colors.base0A;
color12 = config.theme.colors.base0D;
color13 = config.theme.colors.base0E;
color14 = config.theme.colors.base0C;
color15 = config.theme.colors.base07;
# extended base16 colors
color16 = config.theme.colors.base09;
color17 = config.theme.colors.base0F;
color18 = config.theme.colors.base01;
color19 = config.theme.colors.base02;
color20 = config.theme.colors.base04;
color21 = config.theme.colors.base06;
# Scrollback
scrollback_lines = 10000;
scrollback_pager_history_size = 300; # MB
# Window
window_padding_width = 6;
tab_bar_edge = "top";
tab_bar_style = "slant";
# Disable audio
enable_audio_bell = false;
};
};
};
};
}

View File

@ -1,67 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
media = {
enable = lib.mkEnableOption {
description = "Enable media programs.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.media.enable) {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
nsxiv # Image viewer
mupdf # PDF viewer
zathura # PDF viewer
];
# Video player
programs.mpv = {
enable = true;
bindings = { };
config = {
image-display-duration = 2; # For cycling through images
hwdec = "auto-safe"; # Attempt to use GPU decoding for video
};
scripts = [
# Automatically load playlist entries before and after current file
pkgs.mpvScripts.autoload
# Delete current file after quitting
pkgs.mpvScripts.mpv-delete-file
];
};
# Set default programs for opening PDFs and other media
xdg.mimeApps = {
associations.added = {
"application/pdf" = [ "pwmt.zathura-cb.desktop" ];
"image/jpeg" = [ "nsxiv.desktop" ];
"image/png" = [ "nsxiv.desktop" ];
"image/*" = [ "nsxiv.desktop" ];
};
associations.removed = {
"application/pdf" = [
"mupdf.desktop"
"wine-extension-pdf.desktop"
];
};
defaultApplications = {
"application/pdf" = [ "pwmt.zathura-cb.desktop" ];
"image/jpeg" = [ "nsxiv.desktop" ];
"image/png" = [ "nsxiv.desktop" ];
"image/*" = [ "nsxiv.desktop" ];
};
};
};
};
}

View File

@ -1,110 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
# Build kdl-py
kdl-py = pkgs.python311.pkgs.buildPythonPackage rec {
pname = "kdl-py";
version = "1.2.0";
pyproject = true;
src = pkgs.fetchPypi {
inherit pname version;
hash = "sha256-Y/P0bGJ33trc5E3PyUZyv25r8zMLkBIuATTCKFfimXM=";
};
build-system = [ pkgs.python311.pkgs.setuptools ];
# has no tests
doCheck = false;
};
mole = pkgs.python311.pkgs.buildPythonPackage rec {
pname = "mole";
version = "0.7.1";
pyproject = true;
src = pkgs.fetchFromGitHub {
owner = "eblume";
repo = pname;
rev = "30bb052a97050b1fa89c287855d834f7952b195a";
sha256 = "sha256-DUWsfyICCfFQ2ZQBYSQVoA3eLdKC8djUylKgGdHIyJo=";
};
patches = [
(builtins.toString (
pkgs.writeText "pyproject.toml.patch" ''
diff --git a/pyproject.toml b/pyproject.toml
index 12ce0f5..787e978 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,11 +12,11 @@ packages = [
[tool.poetry.dependencies]
python = "^3.11"
# Now back to the regular dependencies
-typer = {extras = ["all"], version = "^0.9"}
+typer = {extras = ["all"], version = "^0.12"}
todoist-api-python = "^2.1.3"
openai = "^1.2.4"
rich = "^13.4.2"
-watchdog = "^3.0.0"
+watchdog = "^4.0.0"
pydub = "^0.25.1"
requests = "^2.31.0"
pyyaml = "^6.0.1"
''
))
];
# Used during build time
nativeBuildInputs = [ pkgs.python311Packages.poetry-core ];
# Used during run time
buildInputs = [
pkgs._1password
pkgs.nb-cli
];
# Both build and run time
propagatedBuildInputs = [
pkgs.python311Packages.typer
pkgs.python311Packages.todoist-api-python
pkgs.python311Packages.openai
pkgs.python311Packages.rich
pkgs.python311Packages.watchdog
pkgs.python311Packages.pydub
pkgs.python311Packages.requests
pkgs.python311Packages.pyyaml
pkgs.python311Packages.pydantic
pkgs.python311Packages.pendulum
kdl-py
pkgs.ffmpeg
];
build-system = [ pkgs.python311.pkgs.setuptools ];
# has no tests
doCheck = false;
};
in
{
options = {
mole = {
enable = lib.mkEnableOption {
description = "Enable Mole.";
default = false;
};
};
};
config = lib.mkIf config.mole.enable {
home-manager.users.${config.user} = {
home.packages = [ mole ];
};
};
}

View File

@ -1,28 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
obsidian = {
enable = lib.mkEnableOption {
description = "Enable Obsidian.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.obsidian.enable) {
unfreePackages = [ "obsidian" ];
home-manager.users.${config.user} = {
home.packages = with pkgs; [ obsidian ];
};
# Broken on 2023-12-11
# https://forum.obsidian.md/t/electron-25-is-now-eol-please-upgrade-to-a-newer-version/72878/8
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ];
};
}

View File

@ -1,25 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
qbittorrent = {
enable = lib.mkEnableOption {
description = "Enable qBittorrent.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.qbittorrent.enable) {
home-manager.users.${config.user} = {
home.packages = with pkgs; [ qbittorrent ];
};
};
}

View File

@ -1,24 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
slack = {
enable = lib.mkEnableOption {
description = "Enable Slack.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.slack.enable) {
unfreePackages = [ "slack" ];
home-manager.users.${config.user} = {
home.packages = with pkgs; [ slack ];
};
};
}

View File

@ -1,235 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
wezterm = {
enable = lib.mkEnableOption {
description = "Enable WezTerm terminal.";
default = false;
};
};
};
config =
let
font = config.home-manager.users.${config.user}.programs.kitty.font.name;
in
lib.mkIf (config.gui.enable && config.wezterm.enable) {
# Set the Rofi-Systemd terminal for viewing logs
# Using optionalAttrs because only available in NixOS
environment =
{ }
// lib.attrsets.optionalAttrs (builtins.hasAttr "sessionVariables" config.environment) {
sessionVariables.ROFI_SYSTEMD_TERM = "${pkgs.wezterm}/bin/wezterm";
};
home-manager.users.${config.user} = {
# Set the i3 terminal
xsession.windowManager.i3.config.terminal = lib.mkIf pkgs.stdenv.isLinux "wezterm";
# Set the Rofi terminal for running programs
programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux "${pkgs.wezterm}/bin/wezterm";
# Display images in the terminal
programs.fish.shellAliases = {
icat = lib.mkForce "wezterm imgcat";
};
programs.wezterm = {
enable = true;
colorSchemes = {
myTheme = {
background = config.theme.colors.base00;
foreground = config.theme.colors.base05;
cursor_bg = config.theme.colors.base05;
cursor_fg = config.theme.colors.base00;
cursor_border = config.theme.colors.base05;
selection_bg = config.theme.colors.base05;
selection_fg = config.theme.colors.base00;
scrollbar_thumb = config.theme.colors.base03;
ansi = [
config.theme.colors.base01 # black
config.theme.colors.base0F # maroon
config.theme.colors.base0B # green
config.theme.colors.base0A # olive
config.theme.colors.base0D # navy
config.theme.colors.base0E # purple
config.theme.colors.base0C # teal
config.theme.colors.base06 # silver
];
brights = [
config.theme.colors.base03 # grey
config.theme.colors.base08 # red
config.theme.colors.base0B # lime
config.theme.colors.base0A # yellow
config.theme.colors.base0D # blue
config.theme.colors.base0E # fuchsia
config.theme.colors.base0C # aqua
config.theme.colors.base07 # white
];
compose_cursor = config.theme.colors.base09; # orange
copy_mode_active_highlight_bg = {
Color = config.theme.colors.base03;
};
copy_mode_active_highlight_fg = {
Color = config.theme.colors.base07;
};
copy_mode_inactive_highlight_bg = {
Color = config.theme.colors.base02;
};
copy_mode_inactive_highlight_fg = {
Color = config.theme.colors.base06;
};
quick_select_label_bg = {
Color = config.theme.colors.base02;
};
quick_select_label_fg = {
Color = config.theme.colors.base06;
};
quick_select_match_bg = {
Color = config.theme.colors.base03;
};
quick_select_match_fg = {
Color = config.theme.colors.base07;
};
};
};
extraConfig = ''
return {
color_scheme = "myTheme",
-- Scrollback
scrollback_lines = 10000,
-- Window
window_padding = {
left = 10,
right = 10,
top = 10,
bottom = 10,
},
font = wezterm.font('${font}', { weight = 'Bold'}),
font_size = ${if pkgs.stdenv.isLinux then "14.0" else "18.0"},
-- Tab Bar
hide_tab_bar_if_only_one_tab = true,
window_frame = {
font = wezterm.font('${font}', { weight = 'Bold'}),
font_size = ${if pkgs.stdenv.isLinux then "12.0" else "16.0"},
},
colors = {
tab_bar = {
active_tab = {
bg_color = '${config.theme.colors.base00}',
fg_color = '${config.theme.colors.base04}',
},
},
},
-- Disable audio
audible_bell = "Disabled",
initial_rows = 80,
initial_cols = 200,
keys = {
-- sends completion string for fish autosuggestions
{
key = 'Enter',
mods = 'SHIFT',
action = wezterm.action.SendString '\x1F'
},
-- ctrl-shift-h was "hide"
{
key = 'H',
mods = 'SHIFT|CTRL',
action = wezterm.action.DisableDefaultAssignment
},
-- alt-enter was "fullscreen"
{
key = 'Enter',
mods = 'ALT',
action = wezterm.action.DisableDefaultAssignment
},
-- make super-f "fullscreen"
{
key = 'f',
mods = 'SUPER',
action = wezterm.action.ToggleFullScreen
},
-- super-t open new tab in new dir
{
key = 't',
mods = 'SUPER',
action = wezterm.action.SpawnCommandInNewTab {
cwd = wezterm.home_dir,
},
},
-- shift-super-t open new tab in same dir
{
key = 't',
mods = 'SUPER|SHIFT',
action = wezterm.action.SpawnTab 'CurrentPaneDomain'
},
-- project switcher
{
key = 'P',
mods = 'SUPER',
action = wezterm.action_callback(function(window, pane)
local choices = {}
wezterm.log_info "working?"
function scandir(directory)
local i, t, popen = 0, {}, io.popen
local pfile = popen('${pkgs.fd}/bin/fd --search-path "'..directory..'" --type directory --exact-depth 2 | ${pkgs.proximity-sort}/bin/proximity-sort "'..os.getenv("HOME").."/dev/work"..'"')
for filename in pfile:lines() do
i = i + 1
t[i] = filename
end
pfile:close()
return t
end
for _, v in pairs(scandir(os.getenv("HOME").."/dev")) do
table.insert(choices, { label = v })
end
window:perform_action(
wezterm.action.InputSelector {
action = wezterm.action_callback(function(window, pane, id, label)
if not id and not label then
wezterm.log_info "cancelled"
else
window:perform_action(
wezterm.action.SpawnCommandInNewTab {
cwd = label,
},
pane
)
end
end),
fuzzy = true,
title = "Select Project",
choices = choices,
},
pane
)
end),
},
},
}
'';
};
};
};
}

View File

@ -1,38 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
yt-dlp = {
enable = lib.mkEnableOption {
description = "Enable YouTube downloader.";
default = false;
};
};
};
config = lib.mkIf (config.yt-dlp.enable) {
home-manager.users.${config.user} = {
programs.yt-dlp = {
enable = true;
extraConfig = "";
settings = {
no-continue = true; # Always re-download each fragment
no-overwrites = true; # Don't overwrite existing files
download-archive = "archive.log"; # Log of archives
embed-metadata = true;
embed-thumbnail = true;
embed-subs = true;
sub-langs = "en.*";
concurrent-fragments = 4; # Parallel download chunks
};
};
programs.fish.shellAbbrs.yt = "yt-dlp";
};
};
}

View File

@ -16,124 +16,135 @@
]; ];
options = { options = {
user = lib.mkOption { # user = lib.mkOption {
type = lib.types.str; # type = lib.types.str;
description = "Primary user of the system"; # description = "Primary user of the system";
}; # };
fullName = lib.mkOption { # fullName = lib.mkOption {
type = lib.types.str; # type = lib.types.str;
description = "Human readable name of the user"; # description = "Human readable name of the user";
}; # };
userDirs = { # userDirs = {
# Required to prevent infinite recursion when referenced by himalaya # # Required to prevent infinite recursion when referenced by himalaya
download = lib.mkOption { # download = lib.mkOption {
type = lib.types.str; # type = lib.types.str;
description = "XDG directory for downloads"; # description = "XDG directory for downloads";
default = if pkgs.stdenv.isDarwin then "$HOME/Downloads" else "$HOME/downloads"; # default = if pkgs.stdenv.isDarwin then "$HOME/Downloads" else "$HOME/downloads";
}; # };
}; # };
identityFile = lib.mkOption { # identityFile = lib.mkOption {
type = lib.types.str; # type = lib.types.str;
description = "Path to existing private key file."; # description = "Path to existing private key file.";
default = "/etc/ssh/ssh_host_ed25519_key"; # default = "/etc/ssh/ssh_host_ed25519_key";
}; # };
gui = { # homePath = lib.mkOption {
enable = lib.mkEnableOption { # type = lib.types.path;
description = "Enable graphics."; # description = "Path of user's home directory.";
default = false; # default = builtins.toPath (
}; # if pkgs.stdenv.isDarwin then "/Users/${config.user}" else "/home/${config.user}"
}; # );
theme = { # };
colors = lib.mkOption { # dotfilesPath = lib.mkOption {
type = lib.types.attrs; # type = lib.types.path;
description = "Base16 color scheme."; # description = "Path of dotfiles repository.";
default = (import ../colorscheme/gruvbox).dark; # default = config.homePath + "/dev/personal/dotfiles";
}; # };
dark = lib.mkOption { # dotfilesRepo = lib.mkOption {
type = lib.types.bool; # type = lib.types.str;
description = "Enable dark mode."; # description = "Link to dotfiles repository HTTPS URL.";
default = true; # };
}; # unfreePackages = lib.mkOption {
}; # type = lib.types.listOf lib.types.str;
homePath = lib.mkOption { # description = "List of unfree packages to allow.";
type = lib.types.path; # default = [ ];
description = "Path of user's home directory."; # };
default = builtins.toPath ( # insecurePackages = lib.mkOption {
if pkgs.stdenv.isDarwin then "/Users/${config.user}" else "/home/${config.user}" # type = lib.types.listOf lib.types.str;
); # description = "List of insecure packages to allow.";
}; # default = [ ];
dotfilesPath = lib.mkOption { # };
type = lib.types.path; # hostnames = {
description = "Path of dotfiles repository."; # audiobooks = lib.mkOption {
default = config.homePath + "/dev/personal/dotfiles"; # type = lib.types.str;
}; # description = "Hostname for audiobook server (Audiobookshelf).";
dotfilesRepo = lib.mkOption { # };
type = lib.types.str; # budget = lib.mkOption {
description = "Link to dotfiles repository HTTPS URL."; # type = lib.types.str;
}; # description = "Hostname for budgeting server (ActualBudget).";
unfreePackages = lib.mkOption { # };
type = lib.types.listOf lib.types.str; # files = lib.mkOption {
description = "List of unfree packages to allow."; # type = lib.types.str;
default = [ ]; # description = "Hostname for files server (Filebrowser).";
}; # };
hostnames = { # git = lib.mkOption {
git = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for git server (Gitea).";
description = "Hostname for git server (Gitea)."; # };
}; # metrics = lib.mkOption {
metrics = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for metrics server.";
description = "Hostname for metrics server."; # };
}; # minecraft = lib.mkOption {
minecraft = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for Minecraft server.";
description = "Hostname for Minecraft server."; # };
}; # paperless = lib.mkOption {
paperless = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for document server (paperless-ngx).";
description = "Hostname for document server (paperless-ngx)."; # };
}; # photos = lib.mkOption {
prometheus = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for photo management (Immich).";
description = "Hostname for Prometheus server."; # };
}; # prometheus = lib.mkOption {
influxdb = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for Prometheus server.";
description = "Hostname for InfluxDB2 server."; # };
}; # influxdb = lib.mkOption {
secrets = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for InfluxDB2 server.";
description = "Hostname for passwords and secrets (Vaultwarden)."; # };
}; # secrets = lib.mkOption {
stream = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for passwords and secrets (Vaultwarden).";
description = "Hostname for video/media library (Jellyfin)."; # };
}; # stream = lib.mkOption {
content = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for video/media library (Jellyfin).";
description = "Hostname for personal content system (Nextcloud)."; # };
}; # content = lib.mkOption {
books = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for personal content system (Nextcloud).";
description = "Hostname for books library (Calibre-Web)."; # };
}; # books = lib.mkOption {
download = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for books library (Calibre-Web).";
description = "Hostname for download services."; # };
}; # download = lib.mkOption {
irc = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for download services.";
description = "Hostname for IRC services."; # };
}; # irc = lib.mkOption {
n8n = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for IRC services.";
description = "Hostname for n8n automation."; # };
}; # n8n = lib.mkOption {
transmission = lib.mkOption { # type = lib.types.str;
type = lib.types.str; # description = "Hostname for n8n automation.";
description = "Hostname for peer2peer downloads (Transmission)."; # };
}; # notifications = lib.mkOption {
}; # type = lib.types.str;
# description = "Hostname for push notification services (ntfy).";
# };
# status = lib.mkOption {
# type = lib.types.str;
# description = "Hostname for status page (Uptime-Kuma).";
# };
# transmission = lib.mkOption {
# type = lib.types.str;
# description = "Hostname for peer2peer downloads (Transmission).";
# };
# };
}; };
config = config =
@ -142,25 +153,13 @@
in in
{ {
# Basic common system packages for all devices
environment.systemPackages = with pkgs; [
git
vim
wget
curl
];
# Use the system-level nixpkgs instead of Home Manager's
home-manager.useGlobalPkgs = true;
# Install packages to /etc/profiles instead of ~/.nix-profile, useful when
# using multiple profiles for one user
home-manager.useUserPackages = true;
# Allow specified unfree packages (identified elsewhere) # Allow specified unfree packages (identified elsewhere)
# Retrieves package object based on string name # Retrieves package object based on string name
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.unfreePackages; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.unfreePackages;
# Allow specified insecure packages (identified elsewhere)
nixpkgs.config.permittedInsecurePackages = config.insecurePackages;
# Pin a state version to prevent warnings # Pin a state version to prevent warnings
home-manager.users.${config.user}.home.stateVersion = stateVersion; home-manager.users.${config.user}.home.stateVersion = stateVersion;
home-manager.users.root.home.stateVersion = stateVersion; home-manager.users.root.home.stateVersion = stateVersion;

View File

@ -1,220 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.mail.aerc.enable = lib.mkEnableOption "Aerc email.";
config = lib.mkIf config.mail.aerc.enable {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
w3m # Render HTML
dante # Socksify for rendering HTML
];
programs.aerc = {
enable = true;
extraBinds = {
# Binds are of the form <key sequence> = <command to run>
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
global = {
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab <Enter>";
"<C-t>" = ":term<Enter>";
"?" = ":help keys<Enter>";
};
messages = {
q = ":quit<Enter>";
j = ":next <Enter>";
"<Down>" = ":next<Enter>";
"<C-d>" = ":next 50%<Enter>";
"<C-f>" = ":next 100%<Enter>";
"<PgDn>" = ":next 100%<Enter>";
k = ":prev <Enter>";
"<Up>" = ":prev<Enter>";
"<C-u>" = ":prev 50%<Enter>";
"<C-b>" = ":prev 100%<Enter>";
"<PgUp>" = ":prev 100%<Enter>";
g = ":select 0 <Enter>";
G = ":select -1<Enter>";
J = ":next-folder <Enter>";
K = ":prev-folder<Enter>";
H = ":collapse-folder<Enter>";
L = ":expand-folder<Enter>";
v = ":mark -t<Enter>";
V = ":mark -v<Enter>";
T = ":toggle-threads<Enter>";
"<Enter>" = ":view<Enter>";
d = ":prompt 'Really delete this message?' 'delete-message'<Enter>";
D = ":move Trash<Enter>";
A = ":archive flat<Enter>";
C = ":compose<Enter>";
rr = ":reply -a<Enter>";
rq = ":reply -aq<Enter>";
Rr = ":reply<Enter>";
Rq = ":reply -q<Enter>";
c = ":cf<space>";
"$" = ":term<space>";
"!" = ":term<space>";
"|" = ":pipe<space>";
"/" = ":search<space>-a<space>";
"\\" = ":filter <space>";
n = ":next-result<Enter>";
N = ":prev-result<Enter>";
"<Esc>" = ":clear<Enter>";
};
"messages:folder=Drafts" = {
"<Enter>" = ":recall<Enter>";
};
view = {
"/" = ":toggle-key-passthrough <Enter> /";
q = ":close<Enter>";
O = ":open<Enter>";
S = ":save<space>";
"|" = ":pipe<space>";
D = ":move Trash<Enter>";
A = ":archive flat<Enter>";
"<C-l>" = ":open-link <space>";
f = ":forward <Enter>";
rr = ":reply -a<Enter>";
rq = ":reply -aq<Enter>";
Rr = ":reply<Enter>";
Rq = ":reply -q<Enter>";
H = ":toggle-headers<Enter>";
"<C-k>" = ":prev-part<Enter>";
"<C-j>" = ":next-part<Enter>";
J = ":next <Enter>";
K = ":prev<Enter>";
};
"view::passthrough" = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<Esc>" = ":toggle-key-passthrough<Enter>";
};
compose = {
# Keybindings used when the embedded terminal is not selected in the compose
# view
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-k>" = ":prev-field<Enter>";
"<C-j>" = ":next-field<Enter>";
"<A-p>" = ":switch-account -p<Enter>";
"<A-n>" = ":switch-account -n<Enter>";
"<tab>" = ":next-field<Enter>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
"compose::editor" = {
# Keybindings used when the embedded terminal is selected in the compose view
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-k>" = ":prev-field<Enter>";
"<C-j>" = ":next-field<Enter>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
"compose::review" = {
# Keybindings used when reviewing a message to be sent
y = ":send <Enter>";
n = ":abort<Enter>";
p = ":postpone<Enter>";
q = ":choose -o d discard abort -o p postpone postpone<Enter>";
e = ":edit<Enter>";
a = ":attach<space>";
d = ":detach<space>";
};
terminal = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
};
extraConfig = {
general = {
unsafe-accounts-conf = true;
# log-file = "~/.cache/aerc.log";
# log-level = "debug";
};
viewer = {
pager = "${pkgs.less}/bin/less -R";
};
filters = {
"text/plain" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"text/calendar" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/libexec/aerc/filters/calendar";
"text/html" = "${pkgs.aerc}/libexec/aerc/filters/html | ${pkgs.aerc}/libexec/aerc/filters/colorize"; # Requires w3m, dante
# "text/*" =
# ''${pkgs.bat}/bin/bat -fP --file-name="$AERC_FILENAME "'';
"message/delivery-status" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"message/rfc822" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh";
"application/pdf" = "${pkgs.zathura}/bin/zathura -";
"audio/*" = "${pkgs.mpv}/bin/mpv -";
"image/*" = "${pkgs.feh}/bin/feh -";
};
};
};
accounts.email.accounts.home.aerc = {
enable = true;
extraAccounts = {
check-mail = "5m";
check-mail-cmd = "${pkgs.isync}/bin/mbsync -a";
check-mail-timeout = "15s";
};
};
xdg.desktopEntries.aerc = lib.mkIf pkgs.stdenv.isLinux {
name = "aerc";
exec = "kitty aerc %u";
};
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
"${
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
}+Shift+e" = "exec ${
# Don't name the script `aerc` or it will affect grep
builtins.toString (
pkgs.writeShellScript "focus-mail.sh" ''
count=$(ps aux | grep -c aerc)
if [ "$count" -eq 1 ]; then
i3-msg "exec --no-startup-id kitty --class aerc aerc"
sleep 0.25
fi
i3-msg "[class=aerc] focus"
''
)
}";
};
programs.fish.shellAbbrs = {
ae = "aerc";
};
};
};
}

View File

@ -1,139 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
imports = [
./himalaya.nix
./aerc.nix
./system.nix
];
options = {
mail.enable = lib.mkEnableOption "Mail service.";
mail.user = lib.mkOption {
type = lib.types.str;
description = "User name for the email address.";
default = config.user;
};
mail.server = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "Server name for the email address.";
};
mail.imapHost = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "Server host for IMAP (reading mail).";
};
mail.smtpHost = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "Server host for SMTP (sending mail).";
};
};
config = lib.mkIf config.mail.enable {
home-manager.users.${config.user} = {
programs.mbsync = {
enable = true;
};
# Automatically check for mail and keep files synced locally
services.mbsync = lib.mkIf pkgs.stdenv.isLinux {
enable = true;
frequency = "*:0/5";
postExec = "${pkgs.notmuch}/bin/notmuch new";
};
# Used to watch for new mail and trigger sync
services.imapnotify.enable = pkgs.stdenv.isLinux;
# Allows sending email from CLI/sendmail
programs.msmtp.enable = true;
# Better local mail search
programs.notmuch = {
enable = true;
new.ignore = [
".mbsyncstate.lock"
".mbsyncstate.journal"
".mbsyncstate.new"
];
};
accounts.email = {
# Where email files are stored
maildirBasePath = "${config.homePath}/mail";
accounts = {
home =
let
address = "${config.mail.user}@${config.mail.server}";
in
{
userName = address;
realName = config.fullName;
primary = true;
inherit address;
aliases = map (user: "${user}@${config.mail.server}") [
"me"
"hey"
"admin"
];
# Options for contact completion
alot = { };
imap = {
host = config.mail.imapHost;
port = 993;
tls.enable = true;
};
# Watch for mail and run notifications or sync
imapnotify = {
enable = true;
boxes = [ "Inbox" ];
onNotify = "${pkgs.isync}/bin/mbsync -a";
onNotifyPost =
lib.mkIf config.home-manager.users.${config.user}.services.dunst.enable
"${pkgs.libnotify}/bin/notify-send 'New mail arrived'";
};
# Name of the directory in maildir for this account
maildir = {
path = "main";
};
# Bi-directional syncing options for local files
mbsync = {
enable = true;
create = "both";
expunge = "both";
remove = "both";
patterns = [ "*" ];
extraConfig.channel = {
CopyArrivalDate = "yes"; # Sync time of original message
};
};
# Enable indexing
notmuch.enable = true;
# Used to login and send and receive emails
passwordCommand = "${pkgs.age}/bin/age --decrypt --identity ~/.ssh/id_ed25519 ${pkgs.writeText "mailpass.age" (builtins.readFile ../../../private/mailpass.age)}";
smtp = {
host = config.mail.smtpHost;
port = 465;
tls.enable = true;
};
};
};
};
};
};
}

View File

@ -1,26 +0,0 @@
{ config, lib, ... }:
{
options.mail.himalaya.enable = lib.mkEnableOption "Himalaya email.";
config = lib.mkIf config.mail.himalaya.enable {
home-manager.users.${config.user} = {
programs.himalaya = {
enable = true;
};
accounts.email.accounts.home.himalaya = {
enable = true;
settings = {
downloads-dir = config.userDirs.download;
smtp-insecure = true;
};
};
programs.fish.shellAbbrs = {
hi = "himalaya";
};
};
};
}

View File

@ -1,35 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf (config.mail.enable || config.server) {
home-manager.users.${config.user} = {
programs.msmtp.enable = true;
# The system user for sending automatic notifications
accounts.email.accounts.system =
let
address = "system@${config.mail.server}";
in
{
userName = address;
realName = "NixOS System";
primary = !config.mail.enable; # Only primary if mail not enabled
inherit address;
passwordCommand = "${pkgs.age}/bin/age --decrypt --identity ${config.identityFile} ${pkgs.writeText "mailpass-system.age" (builtins.readFile ../../../private/mailpass-system.age)}";
msmtp.enable = true;
smtp = {
host = config.mail.smtpHost;
port = 465;
tls.enable = true;
};
};
};
};
}

View File

@ -1,67 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
neovim = import ./package {
inherit pkgs;
colors = config.theme.colors;
terraform = config.terraform.enable;
github = true;
kubernetes = config.kubernetes.enable;
};
in
{
options.neovim.enable = lib.mkEnableOption "Neovim.";
config = lib.mkIf config.neovim.enable {
home-manager.users.${config.user} =
{
home.packages = [ neovim ];
# Use Neovim as the editor for git commit messages
programs.git.extraConfig.core.editor = "nvim";
programs.jujutsu.settings.ui.editor = "nvim";
# Set Neovim as the default app for text editing and manual pages
home.sessionVariables = {
EDITOR = "nvim";
MANPAGER = "nvim +Man!";
};
# Create quick aliases for launching Neovim
programs.fish = {
shellAliases = {
vim = "nvim";
};
shellAbbrs = {
v = lib.mkForce "nvim";
vl = lib.mkForce "nvim -c 'normal! `0' -c 'bdelete 1'";
vll = "nvim -c 'Telescope oldfiles'";
};
};
# Create a desktop option for launching Neovim from a file manager
# (Requires launching the terminal and then executing Neovim)
xdg.desktopEntries.nvim = lib.mkIf pkgs.stdenv.isLinux {
name = "Neovim wrapper";
exec = "kitty nvim %F";
mimeType = [
"text/plain"
"text/markdown"
];
};
xdg.mimeApps.defaultApplications = lib.mkIf pkgs.stdenv.isLinux {
"text/plain" = [ "nvim.desktop" ];
"text/markdown" = [ "nvim.desktop" ];
};
};
};
}

View File

@ -1,12 +0,0 @@
{ ... }:
{
imports = [
./haskell.nix
./kubernetes.nix
./lua.nix
./python.nix
./rust.nix
./terraform.nix
];
}

View File

@ -1,164 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.kubernetes.enable = lib.mkEnableOption "Kubernetes tools.";
config = lib.mkIf config.kubernetes.enable {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
kubectl # Basic Kubernetes queries
kubernetes-helm # Helm CLI
fluxcd # Bootstrap clusters with Flux
kustomize # Kustomize CLI (for Flux)
];
programs.fish.shellAbbrs = {
k = "kubectl";
pods = "kubectl get pods -A";
nodes = "kubectl get nodes";
deploys = "kubectl get deployments -A";
dash = "kube-dashboard";
ks = "k9s";
};
# Terminal Kubernetes UI
programs.k9s = {
enable = true;
settings = {
k9s = {
ui = {
enableMouse = true;
headless = true;
logoless = true;
crumbsless = false;
skin = "main";
};
};
};
skins = {
main = {
k9s = {
body = {
fgColor = config.theme.colors.base06;
bgColor = "default";
logoColor = config.theme.colors.base02; # *blue ?
};
# Search bar
prompt = {
fgColor = config.theme.colors.base06;
bgColor = "default";
suggestColor = config.theme.colors.base03;
};
# Header left side
info = {
fgColor = config.theme.colors.base04;
sectionColor = config.theme.colors.base05;
};
dialog = {
fgColor = config.theme.colors.base06;
bgColor = "default";
buttonFgColor = config.theme.colors.base06;
buttonBgColor = config.theme.colors.base0E;
buttonFocusFgColor = config.theme.colors.base07;
buttonFocusBgColor = config.theme.colors.base02; # *cyan
labelFgColor = config.theme.colors.base09;
fieldFgColor = config.theme.colors.base06;
};
frame = {
border = {
fgColor = config.theme.colors.base01;
focusColor = config.theme.colors.base06;
};
menu = {
fgColor = config.theme.colors.base06;
keyColor = config.theme.colors.base0E; # *magenta
numKeyColor = config.theme.colors.base0E; # *magenta
};
crumbs = {
fgColor = config.theme.colors.base06;
bgColor = config.theme.colors.base01;
activeColor = config.theme.colors.base03;
};
status = {
newColor = config.theme.colors.base04; # *cyan
modifyColor = config.theme.colors.base0D; # *blue
addColor = config.theme.colors.base0B; # *green
errorColor = config.theme.colors.base08; # *red
highlightColor = config.theme.colors.base09; # *orange
killColor = config.theme.colors.base03; # *comment
completedColor = config.theme.colors.base03; # *comment
};
title = {
fgColor = config.theme.colors.base06;
bgColor = "default";
highlightColor = config.theme.colors.base09; # *orange
counterColor = config.theme.colors.base0D; # *blue
filterColor = config.theme.colors.base0E; # *magenta
};
};
views = {
charts = {
bgColor = "default";
defaultDialColors = [
config.theme.colors.base0D
config.theme.colors.base08
];
# - *blue
# - *red
defaultChartColors = [
config.theme.colors.base0D
config.theme.colors.base08
];
# - *blue
# - *red
};
table = {
# List of resources
fgColor = config.theme.colors.base06;
bgColor = "default";
# Row selection
cursorFgColor = config.theme.colors.base07;
cursorBgColor = config.theme.colors.base01;
# Header row
header = {
fgColor = config.theme.colors.base0D;
bgColor = "default";
sorterColor = config.theme.colors.base0A; # *selection
};
};
xray = {
fgColor = config.theme.colors.base06;
bgColor = "default";
cursorColor = config.theme.colors.base06;
graphicColor = config.theme.colors.base0D;
showIcons = false;
};
yaml = {
keyColor = config.theme.colors.base0D;
colonColor = config.theme.colors.base04;
fgColor = config.theme.colors.base03;
};
logs = {
fgColor = config.theme.colors.base06;
bgColor = "default";
indicator = {
fgColor = config.theme.colors.base06;
bgColor = "default";
};
};
};
};
};
};
};
};
};
}

View File

@ -1,17 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.lua.enable = lib.mkEnableOption "Lua programming language.";
config = lib.mkIf config.lua.enable {
home-manager.users.${config.user}.home.packages = with pkgs; [
stylua # Lua formatter
sumneko-lua-language-server # Lua LSP
];
};
}

View File

@ -1,27 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.python.enable = lib.mkEnableOption "Python programming language.";
config = lib.mkIf config.python.enable {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
# python310 # Standard Python interpreter
pyright # Python language server
black # Python formatter
python310Packages.flake8 # Python linter
];
programs.fish.shellAbbrs = {
py = "python3";
};
};
};
}

View File

@ -1,27 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.rust.enable = lib.mkEnableOption "Rust programming language.";
config = lib.mkIf config.rust.enable {
home-manager.users.${config.user} = {
programs.fish.shellAbbrs = {
ca = "cargo";
};
home.packages = with pkgs; [
cargo
rustc
clippy
gcc
];
};
};
}

View File

@ -1,26 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.terraform.enable = lib.mkEnableOption "Terraform tools.";
config = lib.mkIf config.terraform.enable {
unfreePackages = [ "terraform" ];
home-manager.users.${config.user} = {
programs.fish.shellAbbrs = {
# Terraform
te = "terraform";
};
home.packages = with pkgs; [
terraform # Terraform executable
terraform-ls # Language server
tflint # Linter
];
};
};
}

View File

@ -1,8 +0,0 @@
{ ... }:
{
imports = [
./dotfiles.nix
./notes.nix
];
}

View File

@ -1,33 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# Allows me to make sure I can work on my dotfiles locally
options.dotfiles.enable = lib.mkEnableOption "Clone dotfiles.";
config = lib.mkIf config.dotfiles.enable {
home-manager.users.${config.user} = {
home.activation = {
# Always clone dotfiles repository if it doesn't exist
cloneDotfiles = config.home-manager.users.${config.user}.lib.dag.entryAfter [ "writeBoundary" ] ''
if [ ! -d "${config.dotfilesPath}" ]; then
$DRY_RUN_CMD mkdir --parents $VERBOSE_ARG $(dirname "${config.dotfilesPath}")
$DRY_RUN_CMD ${pkgs.git}/bin/git \
clone ${config.dotfilesRepo} "${config.dotfilesPath}"
fi
'';
};
# Set a variable for dotfiles repo, not necessary but convenient
home.sessionVariables.DOTS = config.dotfilesPath;
};
};
}

View File

@ -1,36 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# This is just a placeholder as I expect to interact with my notes in a
# certain location
home-manager.users.${config.user} = {
home.sessionVariables = {
NOTES_PATH = "${config.homePath}/dev/personal/notes/content";
};
# Sync notes for Nextcloud automatically
systemd.user.timers.refresh-notes = lib.mkIf config.services.nextcloud.enable {
Timer = {
OnCalendar = "*-*-* *:0/10:50"; # Every 10 minutes
Unit = "refresh-notes.service";
};
};
systemd.user.services.refresh-notes = {
Unit.Description = "Get latest notes.";
Service = {
Type = "oneshot";
ExecStartPre = "${pkgs.git}/bin/git -C /data/git/notes reset --hard master";
ExecStart = "${pkgs.git}/bin/git -C /data/git/notes pull";
WorkingDirectory = config.homePath;
Environment = "PATH=${pkgs.openssh}/bin";
};
};
};
}

View File

@ -1,39 +0,0 @@
{ config, lib, ... }:
{
# Shell history sync
options.atuin.enable = lib.mkEnableOption "Atuin";
config = {
home-manager.users.${config.user} = lib.mkIf config.atuin.enable {
programs.atuin = {
enable = true;
flags = [
"--disable-up-arrow"
"--disable-ctrl-r"
];
settings = {
auto_sync = true;
update_check = false;
sync_address = "https://api.atuin.sh";
search_mode = "fuzzy";
filter_mode = "host"; # global, host, session, directory
search_mode_shell_up_key_binding = "fuzzy";
filter_mode_shell_up_key_binding = "session";
style = "compact"; # or auto,full
show_help = true;
history_filter = [ ];
secrets_filter = true;
enter_accept = false;
keymap_mode = "vim-normal";
};
};
};
# Give root user the same setup
home-manager.users.root.programs.atuin = config.home-manager.users.${config.user}.programs.atuin;
};
}

View File

@ -1,24 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = {
home-manager.users.${config.user} = {
programs.bash = {
enable = true;
shellAliases = config.home-manager.users.${config.user}.programs.fish.shellAliases;
initExtra = "";
profileExtra = "";
};
programs.starship.enableBashIntegration = false;
programs.zoxide.enableBashIntegration = true;
programs.fzf.enableBashIntegration = true;
};
};
}

View File

@ -1,22 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# Convenience utilities from charm.sh
options.charm.enable = lib.mkEnableOption "Charm utilities.";
config.home-manager.users.${config.user} = lib.mkIf config.charm.enable {
home.packages = with pkgs; [
glow # Markdown previews
skate # Key-value store
charm # Manage account and filesystem
pop # Send emails from a TUI
];
};
}

View File

@ -1,18 +0,0 @@
{ ... }:
{
imports = [
./atuin.nix
./bash
./charm.nix
./direnv.nix
./fish
./fzf.nix
./git.nix
./github.nix
./jujutsu.nix
./nixpkgs.nix
./starship.nix
./utilities.nix
./work.nix
];
}

View File

@ -1,36 +0,0 @@
{ config, ... }:
{
# Enables quickly entering Nix shells when changing directories
home-manager.users.${config.user}.programs.direnv = {
enable = true;
nix-direnv.enable = true;
config = {
whitelist = {
prefix = [ config.dotfilesPath ];
};
};
};
# programs.direnv.direnvrcExtra = ''
# layout_postgres() {
# export PGDATA="$(direnv_layout_dir)/postgres"
# export PGHOST="$PGDATA"
#
# if [[ ! -d "PGDATA" ]]; then
# initdb
# cat >> "$PGDATA/postgres.conf" <<- EOF
# listen_addresses = '''
# unix_socket_directories = '$PGHOST'
# EOF
# echo "CREATE DATABASE $USER;" | postgres --single -E postgres
# fi
# }
# '';
# Prevent garbage collection
nix.extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
}

View File

@ -1,22 +0,0 @@
bind -M insert \co edit
bind -M default \co edit
bind -M insert \cs search-and-edit
bind -M default \cs search-and-edit
bind -M insert \ca 'cd ~; and edit; and commandline -a "; cd -"; commandline -f execute'
bind -M default \ca 'cd ~; and edit; and commandline -a "; cd -"; commandline -f execute'
bind -M insert \ce recent
bind -M default \ce recent
bind -M default \cg commandline-git-commits
bind -M insert \cg 'commandline -i (git rev-parse --show-toplevel 2>/dev/null || echo ".")'
bind -M insert \cf fcd
bind -M default \cf fcd
bind -M insert \cp projects
bind -M default \cp projects
bind -M insert \x1F accept-autosuggestion
bind -M default \x1F accept-autosuggestion
bind -M insert \cn 'commandline -r "nix shell nixpkgs#"'
bind -M default \cn 'commandline -r "nix shell nixpkgs#"'
bind -M insert \x11F nix-fzf
bind -M default \x11F nix-fzf
bind -M insert \ch '_atuin_search --filter-mode global'
bind -M default \ch '_atuin_search --filter-mode global'

View File

@ -1,122 +0,0 @@
#!/usr/local/bin/fish
function fish_vi_cursor -d 'Set cursor shape for different vi modes'
# If we're not interactive, there is effectively no bind mode.
if not status is-interactive
return
end
# This is hard to test in expect, since the exact sequences depend on the environment.
# Instead disable it.
if set -q FISH_UNIT_TESTS_RUNNING
return
end
# If this variable is set, skip all checks
if not set -q fish_vi_force_cursor
# Emacs Makes All Cursors Suck
if set -q INSIDE_EMACS
return
end
# vte-based terms set $TERM = xterm*, but only gained support in 2015.
# From https://bugzilla.gnome.org/show_bug.cgi?id=720821, it appears it was version 0.40.0
if set -q VTE_VERSION
and test "$VTE_VERSION" -lt 4000 2>/dev/null
return
end
# Similarly, genuine XTerm can do it since v280.
if set -q XTERM_VERSION
and not test (string replace -r "XTerm\((\d+)\)" '$1' -- "$XTERM_VERSION") -ge 280 2>/dev/null
return
end
# We need one of these terms.
# It would be lovely if we could rely on terminfo, but:
# - The "Ss" entry isn't a thing in macOS' old and crusty terminfo
# - It is set for xterm, and everyone and their dog claims to be xterm
#
# So we just don't care about $TERM, unless it is one of the few terminals that actually have their own entry.
#
# Note: Previous versions also checked $TMUX, and made sure that then $TERM was screen* or tmux*.
# We don't care, since we *cannot* handle term-in-a-terms 100% correctly.
if not set -q KONSOLE_PROFILE_NAME
and not test -n "$KONSOLE_VERSION" -a "$KONSOLE_VERSION" -ge 200400 # konsole, but new.
and not set -q ITERM_PROFILE
and not set -q VTE_VERSION # which version is already checked above
and not set -q WT_PROFILE_ID
and not set -q XTERM_VERSION
and not string match -rq '^st(-.*)$' -- $TERM
and not string match -q 'xterm-kitty*' -- $TERM
and not string match -q 'rxvt*' -- $TERM
and not string match -q 'alacritty*' -- $TERM
return
end
# HACK: Explicitly disable on ITERM because of #3696, which is weirdness with multi-line prompts.
# --force-iterm is now deprecated; set $fish_vi_force_cursor instead
if contains -- $argv[1] --force-iterm
set -e argv[1]
else if set -q ITERM_PROFILE
return
end
end
set -l terminal $argv[1]
set -q terminal[1]
or set terminal auto
set -l function
switch "$terminal"
case auto
# Nowadays, konsole does not set $KONSOLE_PROFILE_NAME anymore,
# and it uses the xterm sequences.
if set -q KONSOLE_PROFILE_NAME
set function __fish_cursor_konsole
else if set -q ITERM_PROFILE
set function __fish_cursor_1337
else
set function __fish_cursor_xterm
end
case konsole
set function __fish_cursor_konsole
case xterm
set function __fish_cursor_xterm
end
set -l tmux_prefix
set -l tmux_postfix
if set -q TMUX
set tmux_prefix echo -ne "'\ePtmux;\e'"
set tmux_postfix echo -ne "'\e\\\\'"
end
set -q fish_cursor_unknown
or set -g fish_cursor_unknown block blink
echo "
function fish_vi_cursor_handle --on-variable fish_bind_mode --on-event fish_postexec --on-event fish_focus_in
set -l varname fish_cursor_\$fish_bind_mode
if not set -q \$varname
set varname fish_cursor_unknown
end
$tmux_prefix
$function \$\$varname
$tmux_postfix
end
" | source
echo "
function fish_vi_cursor_handle_preexec --on-event fish_preexec
set -l varname fish_cursor_default
if not set -q \$varname
set varname fish_cursor_unknown
end
$tmux_prefix
$function \$\$varname
$tmux_postfix
end
" | source
end

View File

@ -1,45 +0,0 @@
{ config, pkgs, ... }:
{
# FZF is a fuzzy-finder for the terminal
home-manager.users.${config.user} = {
programs.fzf.enable = true;
programs.fish = {
functions = {
projects = {
description = "Jump to a project";
body = ''
set projdir ( \
fd \
--search-path $HOME/dev \
--type directory \
--exact-depth 2 \
| ${pkgs.proximity-sort}/bin/proximity-sort $PWD \
| sed 's/\\/$//' \
| fzf --tiebreak=index \
)
and cd $projdir
and commandline -f execute
'';
};
};
shellAbbrs = {
lsf = "ls -lh | fzf";
};
};
# Global fzf configuration
home.sessionVariables =
let
fzfCommand = "fd --type file";
in
{
FZF_DEFAULT_COMMAND = fzfCommand;
FZF_CTRL_T_COMMAND = fzfCommand;
FZF_DEFAULT_OPTS = "-m --height 50% --border";
};
};
}

View File

@ -1,183 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
home-packages = config.home-manager.users.${config.user}.home.packages;
in
{
options = {
gitName = lib.mkOption {
type = lib.types.str;
description = "Name to use for git commits";
};
gitEmail = lib.mkOption {
type = lib.types.str;
description = "Email to use for git commits";
};
};
config = {
home-manager.users.root.programs.git = {
enable = true;
extraConfig.safe.directory = config.dotfilesPath;
};
home-manager.users.${config.user} = {
programs.git = {
enable = true;
userName = config.gitName;
userEmail = config.gitEmail;
extraConfig = {
core.pager = "${pkgs.git}/share/git/contrib/diff-highlight/diff-highlight | less -F";
interactive.difffilter = "${pkgs.git}/share/git/contrib/diff-highlight/diff-highlight";
pager = {
branch = "false";
};
safe = {
directory = config.dotfilesPath;
};
pull = {
ff = "only";
};
push = {
autoSetupRemote = "true";
};
init = {
defaultBranch = "master";
};
rebase = {
autosquash = "true";
};
gpg = {
format = "ssh";
ssh.allowedSignersFile = "~/.config/git/allowed-signers";
};
# commit.gpgsign = true;
# tag.gpgsign = true;
};
ignores = [
".direnv/**"
"result"
];
includes = [
{
path = "~/.config/git/personal";
condition = "gitdir:~/dev/personal/";
}
];
};
# Personal git config
# TODO: fix with variables
xdg.configFile."git/personal".text = ''
[user]
name = "${config.fullName}"
email = "7386960+nmasur@users.noreply.github.com"
signingkey = ~/.ssh/id_ed25519
[commit]
gpgsign = true
[tag]
gpgsign = true
'';
xdg.configFile."git/allowed-signers".text = ''
7386960+nmasur@users.noreply.github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s
'';
programs.fish.shellAbbrs = {
g = "git";
gs = "git status";
gd = "git diff";
gds = "git diff --staged";
gdp = "git diff HEAD^";
ga = "git add";
gaa = "git add -A";
gac = "git commit -am";
gc = "git commit -m";
gca = "git commit --amend --no-edit";
gcae = "git commit --amend";
gu = "git pull";
gp = "git push";
gl = "git log --graph --decorate --oneline -20";
gll = "git log --graph --decorate --oneline";
gco = "git checkout";
gcom = ''git switch (git symbolic-ref refs/remotes/origin/HEAD | cut -d"/" -f4)'';
gcob = "git switch -c";
gb = "git branch";
gpd = "git push origin -d";
gbd = "git branch -d";
gbD = "git branch -D";
gr = "git reset";
grh = "git reset --hard";
gm = "git merge";
gcp = "git cherry-pick";
cdg = "cd (git rev-parse --show-toplevel)";
};
# Required for fish commands
home.packages = with pkgs; [
fish
fzf
bat
];
programs.fish.functions =
lib.mkIf (builtins.elem pkgs.fzf home-packages && builtins.elem pkgs.bat home-packages)
{
git = {
body = builtins.readFile ./fish/functions/git.fish;
};
git-add-fuzzy = {
body = builtins.readFile ./fish/functions/git-add-fuzzy.fish;
};
git-fuzzy-branch = {
argumentNames = "header";
body = builtins.readFile ./fish/functions/git-fuzzy-branch.fish;
};
git-checkout-fuzzy = {
body = ''
set branch (git-fuzzy-branch "checkout branch...")
and git checkout $branch
'';
};
git-delete-fuzzy = {
body = ''
set branch (git-fuzzy-branch "delete branch...")
and git branch -d $branch
'';
};
git-force-delete-fuzzy = {
body = ''
set branch (git-fuzzy-branch "force delete branch...")
and git branch -D $branch
'';
};
git-merge-fuzzy = {
body = ''
set branch (git-fuzzy-branch "merge from...")
and git merge $branch
'';
};
git-show-fuzzy = {
body = builtins.readFile ./fish/functions/git-show-fuzzy.fish;
};
git-commits = {
body = builtins.readFile ./fish/functions/git-commits.fish;
};
git-history = {
body = builtins.readFile ./fish/functions/git-history.fish;
};
uncommitted = {
description = "Find uncommitted git repos";
body = builtins.readFile ./fish/functions/uncommitted.fish;
};
};
};
};
}

View File

@ -1,18 +0,0 @@
{ config, ... }:
{
config = {
home-manager.users.${config.user}.programs.jujutsu = {
enable = true;
# https://github.com/martinvonz/jj/blob/main/docs/config.md
settings = {
user = {
name = config.home-manager.users.${config.user}.programs.git.userName;
email = config.home-manager.users.${config.user}.programs.git.userEmail;
};
};
};
};
}

View File

@ -1,132 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
home-manager.users.${config.user} = {
programs.fish = {
shellAbbrs = {
n = "nix";
ns = "nix-shell -p";
nsf = "nix-shell --run fish -p";
nsr = "nix-shell-run";
nps = "nix repl '<nixpkgs>'";
nixo = "man configuration.nix";
nixh = "man home-configuration.nix";
nr = "rebuild-nixos";
nro = "rebuild-nixos offline";
hm = "rebuild-home";
};
functions = {
nix-shell-run = {
body = ''
set program $argv[1]
if test (count $argv) -ge 2
commandline -r "nix run nixpkgs#$program -- $argv[2..-1]"
else
commandline -r "nix run nixpkgs#$program"
end
commandline -f execute
'';
};
nix-fzf = {
body = ''
commandline -i (nix-instantiate --eval --json \
-E 'builtins.attrNames (import <nixpkgs> {})' \
| jq '.[]' -r | fzf)
commandline -f repaint
'';
};
rebuild-nixos = {
body = ''
if test "$argv[1]" = "offline"
set option "--option substitute false"
end
git -C ${config.dotfilesPath} add --intent-to-add --all
commandline -r "doas nixos-rebuild switch $option --flake ${config.dotfilesPath}#${config.networking.hostName}"
commandline --function execute
'';
};
rebuild-home = {
body = ''
git -C ${config.dotfilesPath} add --intent-to-add --all
commandline -r "${pkgs.home-manager}/bin/home-manager switch --flake ${config.dotfilesPath}#${config.networking.hostName}";
commandline --function execute
'';
};
};
};
# Provides "command-not-found" options
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
# Create nix-index if doesn't exist
home.activation.createNixIndex =
let
cacheDir = "${config.homePath}/.cache/nix-index";
in
lib.mkIf config.home-manager.users.${config.user}.programs.nix-index.enable (
config.home-manager.users.${config.user}.lib.dag.entryAfter [ "writeBoundary" ] ''
if [ ! -d ${cacheDir} ]; then
$DRY_RUN_CMD ${pkgs.nix-index}/bin/nix-index -f ${pkgs.path}
fi
''
);
# Set automatic generation cleanup for home-manager
nix.gc = {
automatic = config.nix.gc.automatic;
options = config.nix.gc.options;
};
};
nix = {
# Set channel to flake packages, used for nix-shell commands
nixPath = [ "nixpkgs=${pkgs.path}" ];
# Set registry to this flake's packages, used for nix X commands
registry.nixpkgs.to = {
type = "path";
path = builtins.toString pkgs.path;
};
# For security, only allow specific users
settings.allowed-users = [
"@wheel"
config.user
];
# Enable features in Nix commands
extraOptions = ''
experimental-features = nix-command flakes
warn-dirty = false
'';
gc = {
automatic = true;
options = "--delete-older-than 10d";
};
settings = {
# Add community Cachix to binary cache
# Don't use with macOS because blocked by corporate firewall
builders-use-substitutes = true;
substituters = lib.mkIf (!pkgs.stdenv.isDarwin) [ "https://nix-community.cachix.org" ];
trusted-public-keys = lib.mkIf (!pkgs.stdenv.isDarwin) [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
# Scans and hard links identical files in the store
# Not working with macOS: https://github.com/NixOS/nix/issues/7273
auto-optimise-store = lib.mkIf (!pkgs.stdenv.isDarwin) true;
};
};
}

View File

@ -1,72 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
home-manager.users.${config.user}.programs.starship = {
enable = true;
settings = {
add_newline = false; # Don't print new line at the start of the prompt
format = lib.concatStrings [
"$directory"
"$git_branch"
"$git_commit"
"$git_status"
"$hostname"
"$cmd_duration"
"$character"
];
right_format = "$nix_shell";
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
vicmd_symbol = "[](bold green)";
};
cmd_duration = {
min_time = 5000;
show_notifications = if pkgs.stdenv.isLinux then false else true;
min_time_to_notify = 30000;
format = "[$duration]($style) ";
};
directory = {
truncate_to_repo = true;
truncation_length = 100;
};
git_branch = {
format = "[$symbol$branch]($style)";
};
git_commit = {
format = "( @ [$hash]($style) )";
only_detached = false;
};
git_status = {
format = "([$all_status$ahead_behind]($style) )";
conflicted = "=";
ahead = "";
behind = "";
diverged = "";
untracked = "";
stashed = "";
modified = "";
staged = "+";
renamed = "»";
deleted = "";
style = "red";
};
hostname = {
ssh_only = true;
format = "on [$hostname](bold red) ";
};
nix_shell = {
format = "[$symbol $name]($style)";
symbol = "";
};
python = {
format = "[\${version}\\(\${virtualenv}\\)]($style)";
};
};
};
}

View File

@ -1,75 +0,0 @@
{ config, pkgs, ... }:
let
ignorePatterns = ''
!.env*
!.github/
!.gitignore
!*.tfvars
.terraform/
.target/
/Library/'';
in
{
config = {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
age # Encryption
bc # Calculator
delta # Fancy diffs
difftastic # Other fancy diffs
dig # DNS lookup
fd # find
htop # Show system processes
killall # Force quit
inetutils # Includes telnet, whois
jless # JSON viewer
jo # JSON output
jq # JSON manipulation
lf # File viewer
qrencode # Generate qr codes
rsync # Copy folders
ren # Rename files
# rep # Replace text in files
ripgrep # grep
sd # sed
tealdeer # Cheatsheets
tree # View directory hierarchy
vimv-rs # Batch rename files
unzip # Extract zips
dua # File sizes (du)
du-dust # Disk usage tree (ncdu)
duf # Basic disk information (df)
];
programs.zoxide.enable = true; # Shortcut jump command
home.file = {
".rgignore".text = ignorePatterns;
".digrc".text = "+noall +answer"; # Cleaner dig commands
};
xdg.configFile."fd/ignore".text = ignorePatterns;
programs.bat = {
enable = true; # cat replacement
config = {
theme = config.theme.colors.batTheme;
pager = "less -R"; # Don't auto-exit if one screen
};
};
programs.fish.functions = {
ping = {
description = "Improved ping";
argumentNames = "target";
body = "${pkgs.prettyping}/bin/prettyping --nolegend $target";
};
};
};
};
}

View File

@ -1,52 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
home.packages =
let
ldap_scheme = "ldaps";
magic_number = "2";
magic_end_seq = "corp";
magic_prefix = "take";
ldap_host = "${magic_prefix}${magic_number}.t${magic_number}.${magic_end_seq}";
ldap_port = 636;
ldap_dc_1 = "${magic_prefix}${magic_number}";
ldap_dc_2 = "t${magic_number}";
ldap_dc_3 = magic_end_seq;
ldap_script = pkgs.writeShellScriptBin "ldap" ''
# if ! [ "$LDAP_HOST" ]; then
# echo "No LDAP_HOST specified!"
# exit 1
# fi
SEARCH_FILTER="$@"
ldapsearch -LLL \
-B -o ldif-wrap=no \
-H "${ldap_scheme}://${ldap_host}:${builtins.toString ldap_port}" \
-D "${pkgs.lib.toUpper magic_prefix}${magic_number}\\${pkgs.lib.toLower config.user}" \
-w "$(${pkgs._1password}/bin/op item get T${magic_number} --fields label=password)" \
-b "DC=${ldap_dc_1},DC=${ldap_dc_2},DC=${ldap_dc_3}" \
-s "sub" -x "(cn=$SEARCH_FILTER)" \
| jq --slurp \
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
'';
ldapm_script = pkgs.writeShellScriptBin "ldapm" ''
${ldap_script}/bin/ldap "$@" | jq '[ .[].memberOf] | add'
'';
ldapg_script = pkgs.writeShellScriptBin "ldapg" ''
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
'';
in
[
ldap_script
ldapm_script
ldapg_script
];
};
}

View File

@ -1,656 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# MacOS-specific settings for Alacritty
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
programs.alacritty.settings = {
font.size = lib.mkForce 20.0;
shell.program = "${pkgs.fish}/bin/fish";
window.startup_mode = "SimpleFullScreen";
key_bindings = [
{
key = "F";
mods = "Super";
action = "ToggleSimpleFullscreen";
}
{
key = "F";
mods = "Control|Shift";
action = "SearchForward";
}
{
key = "L";
mods = "Super";
chars = "\\x1F";
}
# Some Mac key combinations need to be manually added
{
key = "Return";
mods = "Shift";
chars = "\\x1b[13;2u";
}
{
key = "Return";
mods = "Control";
chars = "\\x1b[13;5u";
}
{
key = "Return";
mods = "Control|Shift";
chars = "\\x1b[13;6u";
}
{
key = "N";
mods = "Command";
action = "SpawnNewInstance";
}
{
key = "PageUp";
action = "ScrollPageUp";
}
{
key = "PageUp";
mods = "Alt";
chars = "\\x1B[5~";
}
{
key = "PageUp";
mods = "Shift";
chars = "\\x1B[5~";
}
{
key = "PageDown";
action = "ScrollPageDown";
}
{
key = "PageDown";
mods = "Alt";
chars = "\\x1B[6~";
}
{
key = "PageDown";
mods = "Shift";
chars = "\\x1B[6~";
}
{
key = "Home";
action = "ScrollToTop";
}
{
key = "Home";
mods = "Alt";
chars = "\\x1BOH";
}
{
key = "Home";
mods = "Shift";
chars = "\\x1B[H";
}
{
key = "End";
action = "ScrollToBottom";
}
{
key = "End";
mods = "Alt";
chars = "\\x1BOF";
}
{
key = "End";
mods = "Shift";
chars = "\\x1B[F";
}
{
key = "Tab";
mods = "Alt";
chars = "\\x1B ";
}
{
key = "Tab";
mods = "Alt|Shift";
chars = "\\x1Bx1B[Z";
}
# {
# key = "Back";
# chars = "\\x7F";
# }
{
key = "Back";
mods = "Alt";
chars = "\\x1Bx7F";
}
{
key = "Back";
mods = "Alt|Shift";
chars = "\\x1Bx08";
}
{
key = "Space";
mods = "Control";
chars = "\\x00";
}
{
key = "Space";
mods = "Alt";
chars = "\\x20";
}
{
key = "Left";
mods = "Alt";
chars = "\\x1Bb";
}
{
key = "Left";
mods = "Alt|Shift";
chars = "\\x1Bx1B[D";
}
{
key = "Right";
mods = "Alt";
chars = "\\x1Bf";
}
{
key = "Right";
mods = "Alt|Shift";
chars = "\\x1Bx1B[C";
}
{
key = "Down";
mods = "Alt";
chars = "\\x1Bx1B[B";
}
{
key = "Down";
mods = "Alt|Shift";
chars = "\\x1Bx1B[B";
}
{
key = "Up";
mods = "Alt";
chars = "\\x1Bx1B[A";
}
{
key = "Up";
mods = "Alt|Shift";
chars = "\\x1Bx1B[A";
}
{
key = "A";
mods = "Alt";
chars = "\\x1Ba";
}
{
key = "A";
mods = "Alt|Shift";
chars = "\\x1BA";
}
{
key = "B";
mods = "Alt";
chars = "\\x1Bb";
}
{
key = "B";
mods = "Alt|Shift";
chars = "\\x1BB";
}
{
key = "C";
mods = "Alt";
chars = "\\x1Bc";
}
{
key = "C";
mods = "Alt|Shift";
chars = "\\x1BC";
}
{
key = "D";
mods = "Alt";
chars = "\\x1Bd";
}
{
key = "D";
mods = "Alt|Shift";
chars = "\\x1BD";
}
{
key = "E";
mods = "Alt";
chars = "\\x1Be";
}
{
key = "E";
mods = "Alt|Shift";
chars = "\\x1BE";
}
{
key = "F";
mods = "Alt";
chars = "\\x1Bf";
}
{
key = "F";
mods = "Alt|Shift";
chars = "\\x1BF";
}
{
key = "G";
mods = "Alt";
chars = "\\x1Bg";
}
{
key = "G";
mods = "Alt|Shift";
chars = "\\x1BG";
}
{
key = "H";
mods = "Alt";
chars = "\\x1Bh";
}
{
key = "H";
mods = "Alt|Shift";
chars = "\\x1BH";
}
{
key = "I";
mods = "Alt";
chars = "\\x1Bi";
}
{
key = "I";
mods = "Alt|Shift";
chars = "\\x1BI";
}
{
key = "J";
mods = "Alt";
chars = "\\x1Bj";
}
{
key = "J";
mods = "Alt|Shift";
chars = "\\x1BJ";
}
{
key = "K";
mods = "Alt";
chars = "\\x1Bk";
}
{
key = "K";
mods = "Alt|Shift";
chars = "\\x1BK";
}
{
key = "L";
mods = "Alt";
chars = "\\x1Bl";
}
{
key = "L";
mods = "Alt|Shift";
chars = "\\x1BL";
}
{
key = "M";
mods = "Alt";
chars = "\\x1Bm";
}
{
key = "M";
mods = "Alt|Shift";
chars = "\\x1BM";
}
{
key = "N";
mods = "Alt";
chars = "\\x1Bn";
}
{
key = "N";
mods = "Alt|Shift";
chars = "\\x1BN";
}
{
key = "O";
mods = "Alt";
chars = "\\x1Bo";
}
{
key = "O";
mods = "Alt|Shift";
chars = "\\x1BO";
}
{
key = "P";
mods = "Alt";
chars = "\\x1Bp";
}
{
key = "P";
mods = "Alt|Shift";
chars = "\\x1BP";
}
{
key = "Q";
mods = "Alt";
chars = "\\x1Bq";
}
{
key = "Q";
mods = "Alt|Shift";
chars = "\\x1BQ";
}
{
key = "R";
mods = "Alt";
chars = "\\x1Br";
}
{
key = "R";
mods = "Alt|Shift";
chars = "\\x1BR";
}
{
key = "S";
mods = "Alt";
chars = "\\x1Bs";
}
{
key = "S";
mods = "Alt|Shift";
chars = "\\x1BS";
}
{
key = "T";
mods = "Alt";
chars = "\\x1Bt";
}
{
key = "T";
mods = "Alt|Shift";
chars = "\\x1BT";
}
{
key = "U";
mods = "Alt";
chars = "\\x1Bu";
}
{
key = "U";
mods = "Alt|Shift";
chars = "\\x1BU";
}
{
key = "V";
mods = "Alt";
chars = "\\x1Bv";
}
{
key = "V";
mods = "Alt|Shift";
chars = "\\x1BV";
}
{
key = "W";
mods = "Alt";
chars = "\\x1Bw";
}
{
key = "W";
mods = "Alt|Shift";
chars = "\\x1BW";
}
{
key = "X";
mods = "Alt";
chars = "\\x1Bx";
}
{
key = "X";
mods = "Alt|Shift";
chars = "\\x1BX";
}
{
key = "Y";
mods = "Alt";
chars = "\\x1By";
}
{
key = "Y";
mods = "Alt|Shift";
chars = "\\x1BY";
}
{
key = "Z";
mods = "Alt";
chars = "\\x1Bz";
}
{
key = "Z";
mods = "Alt|Shift";
chars = "\\x1BZ";
}
{
key = "Key1";
mods = "Alt";
chars = "\\x1B1";
}
{
key = "Key1";
mods = "Alt|Shift";
chars = "\\x1B!";
}
{
key = "Key2";
mods = "Alt";
chars = "\\x1B2";
}
{
key = "Key2";
mods = "Alt|Shift";
chars = "\\x1B#";
}
{
key = "Key3";
mods = "Alt";
chars = "\\x1B3";
}
{
key = "Key3";
mods = "Alt|Shift";
chars = "\\x1B#";
}
{
key = "Key4";
mods = "Alt";
chars = "\\x1B4";
}
{
key = "Key4";
mods = "Alt|Shift";
chars = "\\x1B$";
}
{
key = "Key5";
mods = "Alt";
chars = "\\x1B5";
}
{
key = "Key5";
mods = "Alt|Shift";
chars = "\\x1B%";
}
{
key = "Key6";
mods = "Alt";
chars = "\\x1B6";
}
{
key = "Key6";
mods = "Alt|Shift";
chars = "\\x1B^";
}
{
key = "Key7";
mods = "Alt";
chars = "\\x1B7";
}
{
key = "Key7";
mods = "Alt|Shift";
chars = "\\x1B&";
}
{
key = "Key8";
mods = "Alt";
chars = "\\x1B8";
}
{
key = "Key8";
mods = "Alt|Shift";
chars = "\\x1B*";
}
{
key = "Key9";
mods = "Alt";
chars = "\\x1B9";
}
{
key = "Key9";
mods = "Alt|Shift";
chars = "\\x1B(";
}
{
key = "Key0";
mods = "Alt";
chars = "\\x1B0";
}
{
key = "Key0";
mods = "Alt|Shift";
chars = "\\x1B)";
}
{
key = "Minus";
mods = "Alt";
chars = "\\x1B-";
}
{
key = "Minus";
mods = "Alt|Shift";
chars = "\\x1B_";
}
{
key = "Equals";
mods = "Alt";
chars = "\\x1B=";
}
{
key = "Equals";
mods = "Alt|Shift";
chars = "\\x1B+";
}
{
key = "LBracket";
mods = "Alt";
chars = "\\x1B[";
}
{
key = "LBracket";
mods = "Alt|Shift";
chars = "\\x1B{";
}
{
key = "RBracket";
mods = "Alt";
chars = "\\x1B]";
}
{
key = "RBracket";
mods = "Alt|Shift";
chars = "\\x1B}";
}
{
key = "Backslash";
mods = "Alt";
chars = "\\x1B\\\\";
}
{
key = "Backslash";
mods = "Alt|Shift";
chars = "\\x1B|";
}
{
key = "Semicolon";
mods = "Alt";
chars = "\\x1B;";
}
{
key = "Semicolon";
mods = "Alt|Shift";
chars = "\\x1B =";
}
{
key = "Apostrophe";
mods = "Alt";
chars = "\\x1B'";
}
{
key = "Apostrophe";
mods = "Alt|Shift";
chars = ''\x1B"'';
}
{
key = "Comma";
mods = "Alt";
chars = "\\x1B;";
}
{
key = "Comma";
mods = "Alt|Shift";
chars = "\\x1B<";
}
{
key = "Period";
mods = "Alt";
chars = "\\x1B.";
}
{
key = "Period";
mods = "Alt|Shift";
chars = "\\x1B>";
}
{
key = "Slash";
mods = "Alt";
chars = "\\x1B/";
}
{
key = "Slash";
mods = "Alt|Shift";
chars = "\\x1B?";
}
{
key = "Grave";
mods = "Alt";
chars = "\\x1B`";
}
{
key = "Grave";
mods = "Alt|Shift";
chars = "\\x1B~";
}
];
};
};
}

View File

@ -1,18 +0,0 @@
{ ... }:
{
imports = [
./alacritty.nix
./fish.nix
./fonts.nix
./hammerspoon.nix
./homebrew.nix
./kitty.nix
./networking.nix
./nixpkgs.nix
./system.nix
./tmux.nix
./user.nix
./utilities.nix
];
}

View File

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
config = {
# MacOS-specific settings for Fish
programs.fish.useBabelfish = true;
programs.fish.babelfishPackage = pkgs.babelfish;
};
}

View File

@ -1,22 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "VictorMono" ]; }) ];
programs.alacritty.settings = {
font.normal.family = "VictorMono";
};
programs.kitty.font = {
package = (pkgs.nerdfonts.override { fonts = [ "VictorMono" ]; });
name = "VictorMono Nerd Font Mono";
};
};
}

View File

@ -1,43 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# Hammerspoon - MacOS custom automation scripting
config = lib.mkIf pkgs.stdenv.isDarwin {
home-manager.users.${config.user} = {
xdg.configFile."hammerspoon/init.lua".source = ./hammerspoon/init.lua;
xdg.configFile."hammerspoon/Spoons/ControlEscape.spoon".source = ./hammerspoon/Spoons/ControlEscape.spoon;
xdg.configFile."hammerspoon/Spoons/DismissAlerts.spoon".source = ./hammerspoon/Spoons/DismissAlerts.spoon;
xdg.configFile."hammerspoon/Spoons/Launcher.spoon/init.lua".source = pkgs.substituteAll {
src = ./hammerspoon/Spoons/Launcher.spoon/init.lua;
firefox = "${pkgs.firefox-bin}/Applications/Firefox.app";
discord = "${pkgs.discord}/Applications/Discord.app";
wezterm = "${pkgs.wezterm}/Applications/WezTerm.app";
obsidian = "${pkgs.obsidian}/Applications/Obsidian.app";
slack = "${pkgs.slack}/Applications/Slack.app";
};
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source = ./hammerspoon/Spoons/MoveWindow.spoon;
home.activation.reloadHammerspoon =
config.home-manager.users.${config.user}.lib.dag.entryAfter [ "writeBoundary" ]
''
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()"
$DRY_RUN_CMD sleep 1
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.console.clearConsole()"
'';
};
homebrew.casks = [ "hammerspoon" ];
system.activationScripts.postUserActivation.text = ''
defaults write org.hammerspoon.Hammerspoon MJConfigFile "~/.config/hammerspoon/init.lua"
sudo killall Dock
'';
};
}

View File

@ -1,53 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
# Homebrew - Mac-specific packages that aren't in Nix
config = lib.mkIf pkgs.stdenv.isDarwin {
# Requires Homebrew to be installed
system.activationScripts.preUserActivation.text = ''
if ! xcode-select --version 2>/dev/null; then
$DRY_RUN_CMD xcode-select --install
fi
if ! /opt/homebrew/bin/brew --version 2>/dev/null; then
$DRY_RUN_CMD /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
'';
# Add homebrew paths to CLI path
home-manager.users.${config.user}.home.sessionPath = [ "/opt/homebrew/bin/" ];
homebrew = {
enable = true;
onActivation = {
autoUpdate = false; # Don't update during rebuild
cleanup = "zap"; # Uninstall all programs not declared
upgrade = true;
};
global = {
brewfile = true; # Run brew bundle from anywhere
lockfiles = false; # Don't save lockfile (since running from anywhere)
};
brews = [
"trash" # Delete files and folders to trash instead of rm
];
casks = [
"1password" # 1Password will not launch from Nix on macOS
# "gitify" # Git notifications in menu bar (downgrade manually from 4.6.1)
"keybase" # GUI on Nix not available for macOS
# "logitech-g-hub" # Mouse and keyboard management
"logitune" # Logitech webcam firmware
"meetingbar" # Show meetings in menu bar
"scroll-reverser" # Different scroll style for mouse vs. trackpad
"notunes" # Don't launch Apple Music with the play button
"steam" # Not packaged for Nixon macOS
# "epic-games" # Not packaged for Nix
];
};
};
}

View File

@ -1,16 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf pkgs.stdenv.isDarwin {
networking = {
computerName = config.networking.hostName;
# Adjust if necessary
# hostName = "";
};
};
}

View File

@ -1,37 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
programs.fish = {
shellAbbrs = {
nr = lib.mkForce "rebuild-darwin";
nro = lib.mkForce "rebuild-darwin offline";
};
functions = {
rebuild-darwin = {
body = ''
if test "$argv[1]" = "offline"
set option "--option substitute false"
end
git -C ${config.dotfilesPath} add --intent-to-add --all
commandline -r "darwin-rebuild switch $option --flake ${config.dotfilesPath}#lookingglass"
commandline --function execute
'';
};
rebuild-home = lib.mkForce {
body = ''
git -C ${config.dotfilesPath} add --intent-to-add --all
commandline -r "${pkgs.home-manager}/bin/home-manager switch --flake ${config.dotfilesPath}#lookingglass";
commandline --function execute
'';
};
};
};
};
}

View File

@ -1,205 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf pkgs.stdenv.isDarwin {
services.nix-daemon.enable = true;
# This setting only applies to Darwin, different on NixOS
nix.gc.interval = {
Hour = 12;
Minute = 15;
Day = 1;
};
environment.shells = [ pkgs.fish ];
security.pam.enableSudoTouchIdAuth = true;
system = {
keyboard = {
remapCapsLockToControl = true;
enableKeyMapping = true; # Allows for skhd
};
defaults = {
NSGlobalDomain = {
# Set to dark mode
AppleInterfaceStyle = "Dark";
# Don't change from dark to light automatically
# AppleInterfaceSwitchesAutomatically = false;
# Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs)
AppleKeyboardUIMode = 3;
# Only hide menu bar in fullscreen
_HIHideMenuBar = false;
# Expand save panel by default
NSNavPanelExpandedStateForSaveMode = true;
# Expand print panel by default
PMPrintingExpandedStateForPrint = true;
# Replace press-and-hold with key repeat
ApplePressAndHoldEnabled = false;
# Set a fast key repeat rate
KeyRepeat = 2;
# Shorten delay before key repeat begins
InitialKeyRepeat = 12;
# Save to local disk by default, not iCloud
NSDocumentSaveNewDocumentsToCloud = false;
# Disable autocorrect capitalization
NSAutomaticCapitalizationEnabled = false;
# Disable autocorrect smart dashes
NSAutomaticDashSubstitutionEnabled = false;
# Disable autocorrect adding periods
NSAutomaticPeriodSubstitutionEnabled = false;
# Disable autocorrect smart quotation marks
NSAutomaticQuoteSubstitutionEnabled = false;
# Disable autocorrect spellcheck
NSAutomaticSpellingCorrectionEnabled = false;
};
dock = {
# Automatically show and hide the dock
autohide = true;
# Add translucency in dock for hidden applications
showhidden = true;
# Enable spring loading on all dock items
enable-spring-load-actions-on-all-items = true;
# Highlight hover effect in dock stack grid view
mouse-over-hilite-stack = true;
mineffect = "genie";
orientation = "bottom";
show-recents = false;
tilesize = 44;
persistent-apps = [
"/Applications/1Password.app"
"${pkgs.slack}/Applications/Slack.app"
"/System/Applications/Calendar.app"
"${pkgs.firefox-bin}/Applications/Firefox.app"
"/System/Applications/Messages.app"
"/System/Applications/Mail.app"
"/Applications/zoom.us.app"
"${pkgs.discord}/Applications/Discord.app"
"${pkgs.obsidian}/Applications/Obsidian.app"
"${pkgs.wezterm}/Applications/WezTerm.app"
"/System/Applications/System Settings.app"
];
};
finder = {
# Default Finder window set to column view
FXPreferredViewStyle = "clmv";
# Finder search in current folder by default
FXDefaultSearchScope = "SCcf";
# Disable warning when changing file extension
FXEnableExtensionChangeWarning = false;
# Allow quitting of Finder application
QuitMenuItem = true;
};
# Disable "Are you sure you want to open" dialog
LaunchServices.LSQuarantine = false;
# Disable trackpad tap to click
trackpad.Clicking = false;
# Where to save screenshots
screencapture.location = "~/Downloads";
CustomUserPreferences = {
# Disable disk image verification
"com.apple.frameworks.diskimages" = {
skip-verify = true;
skip-verify-locked = true;
skip-verify-remote = true;
};
# Avoid creating .DS_Store files on network or USB volumes
"com.apple.desktopservices" = {
DSDontWriteNetworkStores = true;
DSDontWriteUSBStores = true;
};
"com.apple.dock" = {
magnification = true;
largesize = 48;
};
# Require password immediately after screen saver begins
"com.apple.screensaver" = {
askForPassword = 1;
askForPasswordDelay = 0;
};
"com.apple.finder" = {
# Disable the warning before emptying the Trash
WarnOnEmptyTrash = false;
# Finder search in current folder by default
FXDefaultSearchScope = "SCcf";
# Default Finder window set to column view
FXPreferredViewStyle = "clmv";
};
"leits.MeetingBar" = {
eventTimeFormat = ''"show"'';
eventTitleFormat = ''"none"'';
eventTitleIconFormat = ''"iconCalendar"'';
slackBrowser = ''{"deletable":true,"arguments":"","name":"Slack","path":""}'';
zoomBrowser = ''{"deletable":true,"arguments":"","name":"Zoom","path":""}'';
teamsBrowser = ''{"deletable":true,"arguments":"","name":"Teams","path":""}'';
KeyboardShortcuts_joinEventShortcut = ''{"carbonModifiers":6400,"carbonKeyCode":38}'';
timeFormat = ''"12-hour"'';
};
};
CustomSystemPreferences = {
};
};
# Settings that don't have an option in nix-darwin
activationScripts.postActivation.text = ''
echo "Allow apps from anywhere"
SPCTL=$(spctl --status)
if ! [ "$SPCTL" = "assessments disabled" ]; then
sudo spctl --master-disable
fi
'';
# User-level settings
activationScripts.postUserActivation.text = ''
echo "Show the ~/Library folder"
chflags nohidden ~/Library
echo "Reduce Menu Bar padding"
defaults write -globalDomain NSStatusItemSelectionPadding -int 6
defaults write -globalDomain NSStatusItemSpacing -int 6
'';
};
};
}

View File

@ -1,31 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf pkgs.stdenv.isDarwin {
users.users."${config.user}" = {
# macOS user
home = config.homePath;
# shell = pkgs.fish; # Default shell
};
home-manager.users.${config.user} = {
# Default shell setting doesn't work
home.sessionVariables = {
SHELL = "${pkgs.fish}/bin/fish";
};
# Used for aerc
xdg.enable = true;
};
# Fix for: 'Error: HOME is set to "/var/root" but we expect "/var/empty"'
home-manager.users.root.home.homeDirectory = lib.mkForce "/var/root";
};
}

View File

@ -1,70 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
unfreePackages = [
"consul"
"vault-bin"
"teams"
];
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
home.packages = [
pkgs.visidata # CSV inspector
pkgs.dos2unix # Convert Windows text files
pkgs.inetutils # Includes telnet
pkgs.youtube-dl # Convert web videos
pkgs.pandoc # Convert text documents
pkgs.mpd # TUI slideshows
pkgs.mpv # Video player
pkgs.gnupg # Encryption
pkgs.awscli2
pkgs.ssm-session-manager-plugin
pkgs.awslogs
pkgs.google-cloud-sdk
pkgs.vault-bin
pkgs.consul
pkgs.noti # Create notifications programmatically
pkgs.ipcalc # Make IP network calculations
pkgs.teams
(pkgs.writeShellApplication {
name = "ocr";
runtimeInputs = [ pkgs.tesseract ];
text = builtins.readFile ../../modules/common/shell/bash/scripts/ocr.sh;
})
(pkgs.writeShellApplication {
name = "ec2";
runtimeInputs = [
pkgs.awscli2
pkgs.jq
pkgs.fzf
];
text = builtins.readFile ../../modules/common/shell/bash/scripts/aws-ec2.sh;
})
(pkgs.writeShellApplication {
name = "tfinit";
runtimeInputs = [
pkgs.terraform
pkgs.gawk
pkgs.git
];
text = builtins.readFile ../../modules/common/shell/bash/scripts/terraform-init.sh;
})
];
programs.fish.shellAbbrs = {
# Add noti for ghpr in Darwin
ghpr = lib.mkForce "gh pr create && sleep 3 && noti gh run watch";
grw = lib.mkForce "noti gh run watch";
# Shortcut to edit hosts file
hosts = "sudo nvim /etc/hosts";
};
};
}

View File

@ -1,29 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
calibre = {
enable = lib.mkEnableOption {
description = "Enable Calibre.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.calibre.enable) {
home-manager.users.${config.user} = {
home.packages = with pkgs; [ calibre ];
# home.sessionVariables = { CALIBRE_USE_DARK_PALETTE = 1; };
};
# Forces Calibre to use dark mode
environment.sessionVariables = {
CALIBRE_USE_DARK_PALETTE = "1";
};
};
}

View File

@ -1,8 +0,0 @@
{ ... }:
{
imports = [
./calibre.nix
./nautilus.nix
];
}

View File

@ -1,55 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
nautilus = {
enable = lib.mkEnableOption {
description = "Enable Nautilus file manager.";
default = false;
};
};
};
# Install Nautilus file manager
config = lib.mkIf (config.gui.enable && config.nautilus.enable) {
# Quick preview with spacebar
services.gnome.sushi.enable = true;
environment.systemPackages = [ pkgs.gnome.nautilus ];
home-manager.users.${config.user} = {
# Quick button for launching nautilus
xsession.windowManager.i3.config.keybindings = {
"${
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
}+n" = "exec --no-startup-id ${pkgs.gnome.nautilus}/bin/nautilus";
};
# Generates a QR code and previews it with sushi
programs.fish.functions = {
qr = {
body = "${pkgs.qrencode}/bin/qrencode $argv[1] -o /tmp/qr.png | ${pkgs.gnome.sushi}/bin/sushi /tmp/qr.png";
};
};
# Set Nautilus as default for opening directories
xdg.mimeApps = {
associations.added."inode/directory" = [ "org.gnome.Nautilus.desktop" ];
defaultApplications."inode/directory" = lib.mkBefore [ "org.gnome.Nautilus.desktop" ];
};
};
# Delete Trash files older than 1 week
systemd.user.services.empty-trash = {
description = "Empty Trash on a regular basis";
wantedBy = [ "default.target" ];
script = "${pkgs.trash-cli}/bin/trash-empty 7";
};
};
}

View File

@ -1,12 +0,0 @@
{ ... }:
{
imports = [
./applications
./gaming
./graphical
./hardware
./services
./system
];
}

View File

@ -1,14 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.gaming.chiaki.enable = lib.mkEnableOption "Chiaki PlayStation remote play client.";
config = lib.mkIf config.gaming.chiaki.enable {
environment.systemPackages = with pkgs; [ chiaki ];
};
}

View File

@ -1,28 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
imports = [
./chiaki.nix
./dwarf-fortress.nix
./legendary.nix
./lutris.nix
./minecraft-server.nix
./ryujinx.nix
./steam.nix
];
options.gaming.enable = lib.mkEnableOption "Enable gaming features.";
config = lib.mkIf (config.gaming.enable && pkgs.stdenv.isLinux) {
hardware.graphics = {
enable = true;
enable32Bit = true;
};
programs.gamemode.enable = true;
};
}

View File

@ -1,60 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
home-packages = config.home-manager.users.${config.user}.home.packages;
in
{
options.gaming.legendary.enable = lib.mkEnableOption "Legendary Epic Games launcher.";
config = lib.mkIf config.gaming.legendary.enable {
environment.systemPackages = with pkgs; [
legendary-gl
wineWowPackages.stable # 32-bit and 64-bit wineWowPackages, see https://nixos.wiki/wiki/Wine
heroic # GUI launcher
];
home-manager.users.${config.user} = {
xdg.configFile."legendary/config.ini".text = ''
[Legendary]
; Disables the automatic update check
disable_update_check = false
; Disables the notice about an available update on exit
disable_update_notice = true
; Set install directory
install_dir = ${config.homePath}/media/games
; Make output quiet
log_level = error
'';
home.file =
let
ignorePatterns = ''
.wine/
drive_c/'';
in
{
".rgignore".text = ignorePatterns;
".fdignore".text = ignorePatterns;
};
programs.fish.functions = lib.mkIf (builtins.elem pkgs.fzf home-packages) {
epic-games = {
body = ''
set game (legendary list 2>/dev/null \
| awk '/^ \* / { print $0; }' \
| sed -e 's/ (.*)$//' -e 's/ \* //' \
| fzf)
and legendary launch "$game" &> /dev/null
'';
};
};
};
};
}

View File

@ -1,18 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.gaming.lutris.enable = lib.mkEnableOption "Lutris game installer.";
config = lib.mkIf config.gaming.lutris.enable {
environment.systemPackages = with pkgs; [
lutris
amdvlk # Vulkan drivers (probably already installed)
wineWowPackages.stable # 32-bit and 64-bit wineWowPackages
];
};
}

View File

@ -1,19 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.gaming.ryujinx.enable = lib.mkEnableOption "Ryujinx Nintendo Switch application.";
config = lib.mkIf config.gaming.ryujinx.enable {
environment.systemPackages = with pkgs; [ ryujinx ];
home-manager.users.${config.user}.xdg.desktopEntries.ryujinx = lib.mkIf pkgs.stdenv.isLinux {
name = "Ryujinx";
exec = "env DOTNET_EnableAlternateStackCheck=1 Ryujinx -r /home/${config.user}/media/games/ryujinx/ %f";
};
};
}

View File

@ -1,54 +0,0 @@
{ lib, ... }:
{
imports = [
./dunst.nix
./fonts.nix
./gtk.nix
./i3.nix
./picom.nix
./polybar.nix
./rofi.nix
./xorg.nix
];
options = {
launcherCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for launching";
};
systemdSearch = lib.mkOption {
type = lib.types.str;
description = "Command to use for interacting with systemd";
};
altTabCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for choosing windows";
};
audioSwitchCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for switching audio sink";
};
brightnessCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for adjusting brightness";
};
calculatorCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for quick calculations";
};
toggleBarCommand = lib.mkOption {
type = lib.types.str;
description = "Command to hide and show the status bar.";
};
powerCommand = lib.mkOption {
type = lib.types.str;
description = "Command to use for power options menu";
};
wallpaper = lib.mkOption {
type = lib.types.path;
description = "Wallpaper background image file";
};
};
}

View File

@ -1,17 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.gui.dmenu.enable = lib.mkEnableOption "dmenu launcher.";
config = lib.mkIf (config.services.xserver.enable && config.dmenu.enable) {
home-manager.users.${config.user}.home.packages = [ pkgs.dmenu ];
gui.launcherCommand = "${pkgs.dmenu}/bin/dmenu_run";
};
}

View File

@ -1,29 +0,0 @@
{ config, ... }:
{
config = {
home-manager.users.${config.user}.services.dunst = {
enable = false;
settings = {
global = {
width = 300;
height = 200;
offset = "30x50";
origin = "top-right";
transparency = 0;
padding = 20;
horizontal_padding = 20;
frame_color = config.theme.colors.base03;
};
urgency_normal = {
background = config.theme.colors.base00;
foreground = config.theme.colors.base05;
timeout = 10;
};
};
};
};
}

View File

@ -1,34 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
fontName = "Victor Mono";
in
{
config = lib.mkIf (config.gui.enable && pkgs.stdenv.isLinux) {
fonts.packages = with pkgs; [
victor-mono # Used for Vim and Terminal
(nerdfonts.override { fonts = [ "Hack" ]; }) # For Polybar, Rofi
];
fonts.fontconfig.defaultFonts.monospace = [ fontName ];
home-manager.users.${config.user} = {
xsession.windowManager.i3.config.fonts = {
names = [ "pango:${fontName}" ];
# style = "Regular";
# size = 11.0;
};
services.polybar.config."bar/main".font-0 = "Hack Nerd Font:size=10;2";
programs.rofi.font = "Hack Nerd Font 14";
programs.alacritty.settings.font.normal.family = fontName;
programs.kitty.font.name = fontName;
services.dunst.settings.global.font = "Hack Nerd Font 14";
};
};
}

View File

@ -1,58 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
gtk.theme = {
name = lib.mkOption {
type = lib.types.str;
description = "Theme name for GTK applications";
};
package = lib.mkOption {
type = lib.types.package;
description = "Theme package for GTK applications";
default = pkgs.gnome-themes-extra;
};
};
};
config = lib.mkIf config.gui.enable {
home-manager.users.${config.user} = {
gtk =
let
gtkExtraConfig = {
gtk-application-prefer-dark-theme = config.theme.dark;
};
in
{
enable = true;
theme = {
name = config.gtk.theme.name;
package = config.gtk.theme.package;
};
gtk3.extraConfig = gtkExtraConfig;
gtk4.extraConfig = gtkExtraConfig;
};
};
# Required for setting GTK theme (for preferred-color-scheme in browser)
services.dbus.packages = [ pkgs.dconf ];
programs.dconf.enable = true;
# Make the login screen dark
services.xserver.displayManager.lightdm.greeters.gtk.theme = {
name = config.gtk.theme.name;
package = config.gtk.theme.package;
};
environment.sessionVariables = {
GTK_THEME = config.gtk.theme.name;
};
};
}

View File

@ -1,300 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
lockCmd = "${pkgs.betterlockscreen}/bin/betterlockscreen --lock --display 1 --blur 0.5 --span";
lockUpdate = "${pkgs.betterlockscreen}/bin/betterlockscreen --update ${config.wallpaper} --display 1 --span";
terminal = "wezterm";
in
{
config = lib.mkIf pkgs.stdenv.isLinux {
services.xserver.windowManager = {
i3 = {
enable = config.services.xserver.enable;
};
};
environment.systemPackages = with pkgs; [
feh # Wallpaper
playerctl # Media control
];
home-manager.users.${config.user} = {
xsession.windowManager.i3 = {
enable = config.services.xserver.enable;
config =
let
modifier = "Mod4"; # Super key
ws1 = "1:I";
ws2 = "2:II";
ws3 = "3:III";
ws4 = "4:IV";
ws5 = "5:V";
ws6 = "6:VI";
ws7 = "7:VII";
ws8 = "8:VIII";
ws9 = "9:IX";
ws10 = "10:X";
in
{
modifier = modifier;
assigns = {
"${ws1}" = [ { class = "Firefox"; } ];
"${ws2}" = [
{ class = "aerc"; }
{ class = "kitty"; }
{ class = "obsidian"; }
{ class = "wezterm"; }
];
"${ws3}" = [ { class = "discord"; } ];
"${ws4}" = [
{ class = "steam"; }
{ class = "Steam"; }
];
};
bars = [ { command = "echo"; } ]; # Disable i3bar
colors =
let
background = config.theme.colors.base00;
inactiveBackground = config.theme.colors.base01;
border = config.theme.colors.base01;
inactiveBorder = config.theme.colors.base01;
text = config.theme.colors.base07;
inactiveText = config.theme.colors.base04;
urgentBackground = config.theme.colors.base08;
indicator = "#00000000";
in
{
background = config.theme.colors.base00;
focused = {
inherit
background
indicator
text
border
;
childBorder = background;
};
focusedInactive = {
inherit indicator;
background = inactiveBackground;
border = inactiveBorder;
childBorder = inactiveBackground;
text = inactiveText;
};
# placeholder = { };
unfocused = {
inherit indicator;
background = inactiveBackground;
border = inactiveBorder;
childBorder = inactiveBackground;
text = inactiveText;
};
urgent = {
inherit text indicator;
background = urgentBackground;
border = urgentBackground;
childBorder = urgentBackground;
};
};
floating.modifier = modifier;
focus = {
mouseWarping = true;
newWindow = "urgent";
followMouse = false;
};
keybindings = {
# Adjust screen brightness
"Shift+F12" =
# Disable dynamic sleep
# https://github.com/rockowitz/ddcutil/issues/323
"exec ${pkgs.ddcutil}/bin/ddcutil --display 1 setvcp 10 + 30 && sleep 1; exec ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 + 30";
"Shift+F11" = "exec ${pkgs.ddcutil}/bin/ddcutil --display 1 setvcp 10 - 30 && sleep 1; exec ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 - 30";
"XF86MonBrightnessUp" = "exec ${pkgs.ddcutil}/bin/ddcutil --display 1 setvcp 10 + 30 && sleep 1; exec ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 + 30";
"XF86MonBrightnessDown" = "exec ${pkgs.ddcutil}/bin/ddcutil --display 1 setvcp 10 - 30 && sleep 1; exec ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 - 30";
# Media player controls
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
# Launchers
"${modifier}+Return" = "exec --no-startup-id ${
config.home-manager.users.${config.user}.programs.rofi.terminal
}; workspace ${ws2}; layout tabbed";
"${modifier}+space" = "exec --no-startup-id ${config.launcherCommand}";
"${modifier}+Shift+s" = "exec --no-startup-id ${config.systemdSearch}";
"${modifier}+Shift+a" = "exec --no-startup-id ${config.audioSwitchCommand}";
"Mod1+Tab" = "exec --no-startup-id ${config.altTabCommand}";
"${modifier}+Shift+period" = "exec --no-startup-id ${config.powerCommand}";
"${modifier}+Shift+m" = "exec --no-startup-id ${config.brightnessCommand}";
"${modifier}+c" = "exec --no-startup-id ${config.calculatorCommand}";
"${modifier}+Shift+c" = "reload";
"${modifier}+Shift+r" = "restart";
"${modifier}+Shift+q" = ''exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"'';
"${modifier}+Shift+x" = "exec ${lockCmd}";
"${modifier}+Mod1+h" = "exec --no-startup-id ${
config.home-manager.users.${config.user}.programs.rofi.terminal
} -e sh -c '${pkgs.home-manager}/bin/home-manager switch --flake ${config.dotfilesPath}#${config.networking.hostName} || read'";
"${modifier}+Mod1+r" = "exec --no-startup-id ${
config.home-manager.users.${config.user}.programs.rofi.terminal
} -e sh -c 'doas nixos-rebuild switch --flake ${config.dotfilesPath}#${config.networking.hostName} || read'";
# Window options
"${modifier}+q" = "kill";
"${modifier}+b" = "exec ${config.toggleBarCommand}";
"${modifier}+f" = "fullscreen toggle";
"${modifier}+h" = "focus left";
"${modifier}+j" = "focus down";
"${modifier}+k" = "focus up";
"${modifier}+l" = "focus right";
"${modifier}+Left" = "focus left";
"${modifier}+Down" = "focus down";
"${modifier}+Up" = "focus up";
"${modifier}+Right" = "focus right";
"${modifier}+Shift+h" = "move left";
"${modifier}+Shift+j" = "move down";
"${modifier}+Shift+k" = "move up";
"${modifier}+Shift+l" = "move right";
"${modifier}+Shift+Left" = "move left";
"${modifier}+Shift+Down" = "move down";
"${modifier}+Shift+Up" = "move up";
"${modifier}+Shift+Right" = "move right";
# Tiling
"${modifier}+i" = "split h";
"${modifier}+v" = "split v";
"${modifier}+s" = "layout stacking";
"${modifier}+t" = "layout tabbed";
"${modifier}+e" = "layout toggle split";
"${modifier}+Shift+space" = "floating toggle";
"${modifier}+Control+space" = "focus mode_toggle";
"${modifier}+a" = "focus parent";
# Workspaces
"${modifier}+1" = "workspace ${ws1}";
"${modifier}+2" = "workspace ${ws2}";
"${modifier}+3" = "workspace ${ws3}";
"${modifier}+4" = "workspace ${ws4}";
"${modifier}+5" = "workspace ${ws5}";
"${modifier}+6" = "workspace ${ws6}";
"${modifier}+7" = "workspace ${ws7}";
"${modifier}+8" = "workspace ${ws8}";
"${modifier}+9" = "workspace ${ws9}";
"${modifier}+0" = "workspace ${ws10}";
# Move windows
"${modifier}+Shift+1" = "move container to workspace ${ws1}; workspace ${ws1}";
"${modifier}+Shift+2" = "move container to workspace ${ws2}; workspace ${ws2}";
"${modifier}+Shift+3" = "move container to workspace ${ws3}; workspace ${ws3}";
"${modifier}+Shift+4" = "move container to workspace ${ws4}; workspace ${ws4}";
"${modifier}+Shift+5" = "move container to workspace ${ws5}; workspace ${ws5}";
"${modifier}+Shift+6" = "move container to workspace ${ws6}; workspace ${ws6}";
"${modifier}+Shift+7" = "move container to workspace ${ws7}; workspace ${ws7}";
"${modifier}+Shift+8" = "move container to workspace ${ws8}; workspace ${ws8}";
"${modifier}+Shift+9" = "move container to workspace ${ws9}; workspace ${ws9}";
"${modifier}+Shift+0" = "move container to workspace ${ws10}; workspace ${ws10}";
# Move screens
"${modifier}+Control+l" = "move workspace to output right";
"${modifier}+Control+h" = "move workspace to output left";
# Resizing
"${modifier}+r" = ''mode "resize"'';
"${modifier}+Control+Shift+h" = "resize shrink width 10 px or 10 ppt";
"${modifier}+Control+Shift+j" = "resize grow height 10 px or 10 ppt";
"${modifier}+Control+Shift+k" = "resize shrink height 10 px or 10 ppt";
"${modifier}+Control+Shift+l" = "resize grow width 10 px or 10 ppt";
};
modes = { };
startup = [
{
command = "feh --bg-fill ${config.wallpaper}";
always = true;
notification = false;
}
{
command = "i3-msg workspace ${ws2}, move workspace to output right";
notification = false;
}
{
command = "i3-msg workspace ${ws1}, move workspace to output left";
notification = false;
}
];
window = {
border = 0;
hideEdgeBorders = "smart";
titlebar = false;
};
workspaceAutoBackAndForth = false;
workspaceOutputAssign = [ ];
# gaps = {
# bottom = 8;
# top = 8;
# left = 8;
# right = 8;
# horizontal = 15;
# vertical = 15;
# inner = 15;
# outer = 0;
# smartBorders = "off";
# smartGaps = false;
# };
};
extraConfig = "";
};
programs.fish.functions = {
update-lock-screen = lib.mkIf config.services.xserver.enable {
description = "Update lockscreen with wallpaper";
body = lockUpdate;
};
};
# Update lock screen cache only if cache is empty
home.activation.updateLockScreenCache =
let
cacheDir = "${config.homePath}/.cache/betterlockscreen/current";
in
lib.mkIf config.services.xserver.enable (
config.home-manager.users.${config.user}.lib.dag.entryAfter [ "writeBoundary" ] ''
if [ ! -d ${cacheDir} ] || [ -z "$(ls ${cacheDir})" ]; then
$DRY_RUN_CMD ${lockUpdate}
fi
''
);
};
# Ref: https://github.com/betterlockscreen/betterlockscreen/blob/next/system/betterlockscreen%40.service
systemd.services.lock = {
enable = config.services.xserver.enable;
description = "Lock the screen on resume from suspend";
before = [
"sleep.target"
"suspend.target"
];
serviceConfig = {
User = config.user;
Type = "simple";
Environment = "DISPLAY=:0";
TimeoutSec = "infinity";
ExecStart = lockCmd;
ExecStartPost = "${pkgs.coreutils-full}/bin/sleep 1";
};
wantedBy = [
"sleep.target"
"suspend.target"
];
};
};
}

View File

@ -1,57 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf (pkgs.stdenv.isLinux && config.services.xserver.enable) {
home-manager.users.${config.user} = {
services.picom = {
enable = true;
backend = "glx";
settings = {
blur = false;
blurExclude = [ ];
inactiveDim = "0.05";
noDNDShadow = false;
noDockShadow = false;
# shadow-radius = 20
# '';
# shadow-radius = 20
# corner-radius = 10
# blur-size = 20
# rounded-corners-exclude = [
# "window_type = 'dock'",
# "class_g = 'i3-frame'"
# ]
# '';
};
fade = false;
inactiveOpacity = 1.0;
menuOpacity = 1.0;
opacityRules = [
"0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'" # Hide tabbed windows
];
shadow = false;
shadowExclude = [ ];
shadowOffsets = [
(-10)
(-10)
];
shadowOpacity = 0.5;
vSync = true;
};
xsession.windowManager.i3.config.startup = [
{
command = "systemctl --user restart picom";
always = true;
notification = false;
}
];
};
};
}

View File

@ -1,241 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf (pkgs.stdenv.isLinux && config.services.xserver.enable) {
toggleBarCommand = "polybar-msg cmd toggle";
home-manager.users.${config.user} = {
services.polybar = {
enable = true;
package = pkgs.polybar.override {
pulseSupport = true;
githubSupport = true;
i3Support = true;
};
script = "polybar &";
config = {
"bar/main" = {
bottom = false;
width = "100%";
height = "22pt";
radius = 0;
# offset-y = -5;
# offset-y = "5%";
# dpi = 96;
background = config.theme.colors.base01;
foreground = config.theme.colors.base05;
line-size = "3pt";
border-top-size = 0;
border-right-size = 0;
border-left-size = 0;
border-bottom-size = "4pt";
border-color = config.theme.colors.base00;
padding-left = 2;
padding-right = 2;
module-margin = 1;
modules-left = "i3";
modules-center = "xwindow";
modules-right = "mailcount network pulseaudio date keyboard power";
cursor-click = "pointer";
cursor-scroll = "ns-resize";
enable-ipc = true;
tray-position = "right";
# wm-restack = "generic";
# wm-restack = "bspwm";
# wm-restack = "i3";
# override-redirect = true;
};
"module/i3" =
let
padding = 2;
in
{
type = "internal/i3";
pin-workspaces = false;
show-urgent = true;
strip-wsnumbers = true;
index-sort = true;
enable-click = true;
wrapping-scroll = true;
fuzzy-match = true;
format = "<label-state> <label-mode>";
label-focused = "%name%";
label-focused-foreground = config.theme.colors.base01;
label-focused-background = config.theme.colors.base05;
label-focused-underline = config.theme.colors.base03;
label-focused-padding = padding;
label-unfocused = "%name%";
label-unfocused-padding = padding;
label-visible = "%name%";
label-visible-underline = config.theme.colors.base01;
label-visible-padding = padding;
label-urgent = "%name%";
label-urgent-foreground = config.theme.colors.base00;
label-urgent-background = config.theme.colors.base08;
label-urgent-underline = config.theme.colors.base0F;
label-urgent-padding = padding;
};
"module/xworkspaces" = {
type = "internal/xworkspaces";
label-active = "%name%";
label-active-background = config.theme.colors.base05;
label-active-foreground = config.theme.colors.base01;
label-active-underline = config.theme.colors.base03;
label-active-padding = 1;
label-occupied = "%name%";
label-occupied-padding = 1;
label-urgent = "%name%";
label-urgent-background = config.theme.colors.base08;
label-urgent-padding = 1;
label-empty = "%name%";
label-empty-foreground = config.theme.colors.base06;
label-empty-padding = 1;
};
"module/xwindow" = {
type = "internal/xwindow";
label = "%title:0:60:...%";
};
# "module/filesystem" = {
# type = "internal/fs";
# interval = 25;
# mount-0 = "/";
# label-mounted = "%{F#F0C674}%mountpoint%%{F-} %percentage_used%%";
# label-unmounted = "%mountpoint% not mounted";
# label-unmounted-foreground = colors.disabled;
# };
"module/mailcount" = {
type = "custom/script";
interval = 10;
format = "<label>";
exec = builtins.toString (
pkgs.writeShellScript "mailcount.sh" ''
${pkgs.notmuch}/bin/notmuch new --quiet 2>&1>/dev/null
UNREAD=$(
${pkgs.notmuch}/bin/notmuch count \
is:inbox and \
is:unread and \
folder:main/Inbox \
2>/dev/null
)
if [ $UNREAD = "0" ]; then
echo ""
else
echo "%{T2}%{T-} $UNREAD "
fi
''
);
click-left = "i3-msg 'exec --no-startup-id kitty --class aerc aerc'; sleep 0.15; i3-msg '[class=aerc] focus'";
};
"module/network" = {
type = "internal/network";
interface-type = "wired";
interval = 3;
accumulate-stats = true;
format-connected = "<label-connected>";
format-disconnected = "<label-disconnected>";
label-connected = "";
label-disconnected = "";
};
"module/pulseaudio" = {
type = "internal/pulseaudio";
# format-volume-prefix = "VOL ";
# format-volume-prefix-foreground = colors.primary;
format-volume = "<ramp-volume> <label-volume>";
# format-volume-background = colors.background;
# label-volume-background = colors.background;
format-volume-foreground = config.theme.colors.base04;
label-volume = "%percentage%%";
label-muted = "󰝟 ---";
label-muted-foreground = config.theme.colors.base03;
ramp-volume-0 = "";
ramp-volume-1 = "󰕾";
ramp-volume-2 = "";
click-right = config.audioSwitchCommand;
};
# "module/xkeyboard" = {
# type = "internal/xkeyboard";
# blacklist-0 = "num lock";
# label-layout = "%layout%";
# label-layout-foreground = colors.primary;
# label-indicator-padding = 2;
# label-indicator-margin = 1;
# label-indicator-foreground = colors.background;
# label-indicator-background = colors.secondary;
# };
# "module/memory" = {
# type = "internal/memory";
# interval = 2;
# format-prefix = "RAM ";
# format-prefix-foreground = colors.primary;
# label = "%percentage_used:2%%";
# };
# "module/cpu" = {
# type = "internal/cpu";
# interval = 2;
# format-prefix = "CPU ";
# format-prefix-foreground = colors.primary;
# label = "%percentage:2%%";
# };
# "network-base" = {
# type = "internal/network";
# interval = 5;
# format-connected = "<label-connected>";
# format-disconnected = "<label-disconnected>";
# label-disconnected = "%{F#F0C674}%ifname%%{F#707880} disconnected";
# };
# "module/wlan" = {
# "inherit" = "network-base";
# interface-type = "wireless";
# label-connected = "%{F#F0C674}%ifname%%{F-} %essid% %local_ip%";
# };
# "module/eth" = {
# "inherit" = "network-base";
# interface-type = "wired";
# label-connected = "%{F#F0C674}%ifname%%{F-} %local_ip%";
# };
"module/date" = {
type = "internal/date";
interval = 1;
date = "%d %b %l:%M %p";
date-alt = "%Y-%m-%d %H:%M:%S";
label = "%date%";
label-foreground = config.theme.colors.base06;
# format-background = colors.background;
};
"module/keyboard" = {
type = "custom/text";
content = "󰌌";
click-left = "doas systemctl restart keyd";
content-foreground = config.theme.colors.base04;
};
"module/power" = {
type = "custom/text";
content = " ";
click-left = config.powerCommand;
click-right = "polybar-msg cmd restart";
content-foreground = config.theme.colors.base04;
};
"settings" = {
screenchange-reload = true;
pseudo-transparency = false;
};
};
};
xsession.windowManager.i3.config.startup = [
{
command = "pkill polybar; polybar -r main";
always = true;
notification = false;
}
];
};
};
}

View File

@ -1,194 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
rofi = config.home-manager.users.${config.user}.programs.rofi.finalPackage;
in
{
imports = [
./rofi/power.nix
./rofi/brightness.nix
];
config = lib.mkIf (pkgs.stdenv.isLinux && config.services.xserver.enable) {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
jq # Required for rofi-systemd
];
programs.rofi = {
enable = true;
cycle = true;
location = "center";
pass = { };
plugins = [
pkgs.rofi-calc
pkgs.rofi-emoji
pkgs.rofi-systemd
];
theme =
let
inherit (config.home-manager.users.${config.user}.lib.formats.rasi) mkLiteral;
in
{
# Inspired by https://github.com/sherubthakur/dotfiles/blob/master/users/modules/desktop-environment/rofi/launcher.rasi
"*" = {
background-color = mkLiteral config.theme.colors.base00;
foreground-color = mkLiteral config.theme.colors.base07;
text-color = mkLiteral config.theme.colors.base07;
border-color = mkLiteral config.theme.colors.base04;
};
# Holds the entire window
"#window" = {
transparency = "real";
background-color = mkLiteral config.theme.colors.base00;
text-color = mkLiteral config.theme.colors.base07;
border = mkLiteral "4px";
border-color = mkLiteral config.theme.colors.base04;
border-radius = mkLiteral "4px";
width = mkLiteral "850px";
padding = mkLiteral "15px";
};
# Wrapper around bar and results
"#mainbox" = {
background-color = mkLiteral config.theme.colors.base00;
border = mkLiteral "0px";
border-radius = mkLiteral "0px";
border-color = mkLiteral config.theme.colors.base04;
children = map mkLiteral [
"inputbar"
"message"
"listview"
];
spacing = mkLiteral "10px";
padding = mkLiteral "10px";
};
# Unknown
"#textbox-prompt-colon" = {
expand = false;
str = ":";
margin = mkLiteral "0px 0.3em 0em 0em";
text-color = mkLiteral config.theme.colors.base07;
};
# Command prompt left of the input
"#prompt" = {
enabled = false;
};
# Actual text box
"#entry" = {
placeholder-color = mkLiteral config.theme.colors.base03;
expand = true;
horizontal-align = "0";
placeholder = "";
padding = mkLiteral "0px 0px 0px 5px";
blink = true;
};
# Top bar
"#inputbar" = {
children = map mkLiteral [
"prompt"
"entry"
];
border = mkLiteral "1px";
border-radius = mkLiteral "4px";
padding = mkLiteral "6px";
};
# Results
"#listview" = {
background-color = mkLiteral config.theme.colors.base00;
padding = mkLiteral "0px";
columns = 1;
lines = 12;
spacing = "5px";
cycle = true;
dynamic = true;
layout = "vertical";
};
# Each result
"#element" = {
orientation = "vertical";
border-radius = mkLiteral "0px";
padding = mkLiteral "5px 0px 5px 5px";
};
"#element.selected" = {
border = mkLiteral "1px";
border-radius = mkLiteral "4px";
border-color = mkLiteral config.theme.colors.base07;
background-color = mkLiteral config.theme.colors.base04;
text-color = mkLiteral config.theme.colors.base00;
};
"#element-text" = {
expand = true;
# horizontal-align = mkLiteral "0.5";
vertical-align = mkLiteral "0.5";
margin = mkLiteral "0px 2.5px 0px 2.5px";
};
"#element-text.selected" = {
background-color = mkLiteral config.theme.colors.base04;
text-color = mkLiteral config.theme.colors.base00;
};
# Not sure how to get icons
"#element-icon" = {
size = mkLiteral "18px";
border = mkLiteral "0px";
padding = mkLiteral "2px 5px 2px 2px";
background-color = mkLiteral config.theme.colors.base00;
};
"#element-icon.selected" = {
background-color = mkLiteral config.theme.colors.base04;
text-color = mkLiteral config.theme.colors.base00;
};
};
xoffset = 0;
yoffset = -20;
extraConfig = {
show-icons = true;
kb-cancel = "Escape,Super+space";
modi = "window,run,ssh,emoji,calc,systemd";
sort = true;
# levenshtein-sort = true;
};
};
home.file.".local/share/rofi/themes" = {
recursive = true;
source = ./rofi/themes;
};
};
launcherCommand = ''${rofi}/bin/rofi -modes drun -show drun -theme-str '@import "launcher.rasi"' '';
systemdSearch = "${pkgs.rofi-systemd}/bin/rofi-systemd";
altTabCommand = "${rofi}/bin/rofi -show window -modi window";
calculatorCommand = "${rofi}/bin/rofi -modes calc -show calc";
audioSwitchCommand = "${
(pkgs.writeShellApplication {
name = "switch-audio";
runtimeInputs = [
pkgs.ponymix
rofi
];
text = builtins.readFile ./rofi/pulse-sink.sh;
})
}/bin/switch-audio";
};
}

View File

@ -1,45 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf config.gui.enable {
# Enable touchpad support
services.libinput.enable = true;
# Enable the X11 windowing system.
services.xserver = {
enable = config.gui.enable;
# Login screen
displayManager = {
lightdm = {
enable = config.services.xserver.enable;
background = config.wallpaper;
# Show default user
# Also make sure /var/lib/AccountsService/users/<user> has SystemAccount=false
extraSeatDefaults = ''
greeter-hide-users = false
'';
};
};
};
environment.systemPackages = with pkgs; [
xclip # Clipboard
];
home-manager.users.${config.user} = {
programs.fish.shellAliases = {
pbcopy = "xclip -selection clipboard -in";
pbpaste = "xclip -selection clipboard -out";
};
};
};
}

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