22 Commits

Author SHA1 Message Date
f2ca4f3530 [nix-darwin] Bump flake.lock, add claude-code
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:59:41 -08:00
62cc99e951 [Emacs] Add function to reschedule past items to today
Adds imalison:reschedule-past-to-today which iterates through agenda
files and reschedules any incomplete TODO items with a SCHEDULED date
in the past to the current date.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:36:53 -08:00
049d0ca45c [NixOS] Don't use private tmp for gitea runner 2026-01-08 10:59:20 -08:00
7a55c32da2 [NixOS] Remove unneeded patches 2026-01-08 10:59:15 -08:00
d2a0b86024 [taffybar] [NixOS] Just use remote taffybar for now 2025-12-19 15:49:57 -08:00
f79e7a527c [NixOS] A ton of stuff 2025-12-19 15:03:12 -08:00
b2230c993a [NixOS] Add ability to easily claude code overlay 2025-12-19 15:02:30 -08:00
91e8fcb06a [NixOS] Bump rumno service PR 2025-11-28 01:02:22 -08:00
03356b9280 [NixOS] Get taffybar building again with flake update / Make it easier to specify nixpgks PRs as patches 2025-11-28 01:00:29 -08:00
c3f4f92a09 [NixOS] [taffybar] Hack around the patching of gi-gtk-hs cabal file 2025-11-28 00:59:56 -08:00
8799310710 [NixOS] Run alejandra on flake.nix 2025-11-25 19:45:56 -08:00
493bd42966 [NixOS] Random tweaks 2025-11-21 11:42:37 -08:00
d98e7ae597 [NixOS] Fix warnings 2025-11-21 11:40:52 -08:00
bfd4a53b85 [NixOS] Bump nixpkgs 2025-11-18 12:53:05 -08:00
643096d98c [NixOS] Add flox cache 2025-10-03 12:29:29 -07:00
32cd05a2b8 [NixOS] Bump flake 2025-09-15 17:56:49 -07:00
23afe4a8b6 [NixOS] Enable all services on jimi-hendnix 2025-08-27 13:47:27 -07:00
acf683f334 [NixOS] Disable silabs flasher 2025-08-27 13:04:37 -07:00
4b7fdcd68f [NixOS] Remove nixos mcp 2025-08-27 12:52:27 -07:00
9ecb62e13d [NixOS] Remove breeze-gtk 2025-08-27 12:27:59 -07:00
ce9910daed [NixOS] Remove logind extra configuration 2025-08-27 12:21:51 -07:00
cb2598af14 [NixOS] Fix railbird-sf 2025-08-23 15:06:38 -07:00
25 changed files with 748 additions and 1099 deletions

View File

@@ -3,11 +3,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1696426674,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -21,11 +21,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1731533236,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +39,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1689068808, "lastModified": 1731533236,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -57,11 +57,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1731533236,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -70,80 +70,16 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fourmolu-011": {
"flake": false,
"locked": {
"narHash": "sha256-g/yDZXeLCHq/iXoZTaTYSb8l9CMny3AKsRQgWElagZI=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.11.0.0/fourmolu-0.11.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.11.0.0/fourmolu-0.11.0.0.tar.gz"
}
},
"fourmolu-012": {
"flake": false,
"locked": {
"narHash": "sha256-yru8ls67DMM6WSeVU6xDmmwa48I8S9CUv9NBaxSQ29M=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.12.0.0/fourmolu-0.12.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/fourmolu-0.12.0.0/fourmolu-0.12.0.0.tar.gz"
}
},
"git-ignore-nix": { "git-ignore-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": "nixpkgs_3"
"taffybar",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1660459072, "lastModified": 1762808025,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "gitignore.nix", "repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"ref": "master",
"repo": "gitignore.nix",
"type": "github"
}
},
"git-ignore-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1703887061,
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -154,13 +90,20 @@
} }
}, },
"gitignore": { "gitignore": {
"flake": false, "inputs": {
"nixpkgs": [
"taffybar",
"weeder-nix",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1660459072, "lastModified": 1709087332,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "gitignore.nix", "repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -170,30 +113,13 @@
} }
}, },
"gtk-sni-tray": { "gtk-sni-tray": {
"inputs": { "flake": false,
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
],
"status-notifier-item": [
"taffybar",
"status-notifier-item"
]
},
"locked": { "locked": {
"lastModified": 1663379298, "lastModified": 1760550917,
"narHash": "sha256-m18+G7V1N+g/pPeKJG9hkblGA5c8QTnUYnsU5t14sOw=", "narHash": "sha256-oELopLiVb7D1fzYHAiw/cbfNPHLQcOJ3Rz/I1gbk8IY=",
"owner": "taffybar", "owner": "taffybar",
"repo": "gtk-sni-tray", "repo": "gtk-sni-tray",
"rev": "1927d86308d34b5d21a709cf8ff5332ec5d37de4", "rev": "f6d1bf5dd64ac0f532b03ae01f5e1cc051116f09",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -204,26 +130,13 @@
} }
}, },
"gtk-strut": { "gtk-strut": {
"inputs": { "flake": false,
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1663377859, "lastModified": 1760550944,
"narHash": "sha256-UrBd+R3NaJIDC2lt5gMafS3KBeLs83emm2YorX2cFCo=", "narHash": "sha256-S0saDsCA3aosU23jO5+jSXkbyrv7/C48o8GjsZrqF0I=",
"owner": "taffybar", "owner": "taffybar",
"repo": "gtk-strut", "repo": "gtk-strut",
"rev": "d946eb230cdccf5afc063642b3215723e555990b", "rev": "5e0bf7f4b93b931a9c4b4a48b5d39de3ca8f02ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -233,197 +146,39 @@
"type": "github" "type": "github"
} }
}, },
"haskell-hie-bios": {
"flake": false,
"locked": {
"lastModified": 1686930638,
"narHash": "sha256-gfcxxHtZ2jUsiKNn/O4jEkfWF/2H04aTnaIvPDbtNlQ=",
"owner": "haskell",
"repo": "hie-bios",
"rev": "3d4fadfb0dc44cb287db9897ecfb503899d33513",
"type": "github"
},
"original": {
"owner": "haskell",
"repo": "hie-bios",
"type": "github"
}
},
"haskell-implicit-hie-cradle": {
"flake": false,
"locked": {
"lastModified": 1686495518,
"narHash": "sha256-OAe+zOkMZuoTfVEMnxnCT1cmPgRF/riAR8nVdomnwxo=",
"owner": "smunix",
"repo": "implicit-hie-cradle",
"rev": "d6aa00355898469af56cfd5e62f7fc8bd9959ded",
"type": "github"
},
"original": {
"owner": "smunix",
"ref": "smunix-patch-hls-0.5-1",
"repo": "implicit-hie-cradle",
"type": "github"
}
},
"haskell-language-server": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_3",
"fourmolu-011": "fourmolu-011",
"fourmolu-012": "fourmolu-012",
"gitignore": "gitignore",
"haskell-hie-bios": "haskell-hie-bios",
"haskell-implicit-hie-cradle": "haskell-implicit-hie-cradle",
"hiedb": "hiedb",
"hlint-35": "hlint-35",
"hlint-36": "hlint-36",
"lsp": "lsp",
"lsp-test": "lsp-test",
"lsp-types": "lsp-types",
"nixpkgs": "nixpkgs_2",
"ormolu-052": "ormolu-052",
"ormolu-07": "ormolu-07",
"stylish-haskell-0145": "stylish-haskell-0145"
},
"locked": {
"lastModified": 1693851896,
"narHash": "sha256-799JUHpBd2iMRCrTYDme5RsROKnIwSKBe2xYxgVN7QI=",
"owner": "colonelpanic8",
"repo": "haskell-language-server",
"rev": "ea368cef0673059fff95e953ef983109b5979dbc",
"type": "github"
},
"original": {
"owner": "colonelpanic8",
"ref": "goto-dependency-definition-2",
"repo": "haskell-language-server",
"type": "github"
}
},
"hiedb": {
"flake": false,
"locked": {
"lastModified": 1691542357,
"narHash": "sha256-90ftphhoIo0CklJrjfCGQrZIUKZfdMJ2Og6tep9dmJ8=",
"owner": "nlander",
"repo": "HieDb",
"rev": "4eebfcf8fab54f24808e6301227d77ae64d2509c",
"type": "github"
},
"original": {
"owner": "nlander",
"ref": "all-new-functions",
"repo": "HieDb",
"type": "github"
}
},
"hlint-35": {
"flake": false,
"locked": {
"narHash": "sha256-qQNUlQQnahUGEO92Lm0RwjTGBGr2Yaw0KRuFRMoc5No=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.5/hlint-3.5.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.5/hlint-3.5.tar.gz"
}
},
"hlint-36": {
"flake": false,
"locked": {
"narHash": "sha256-fH4RYnWeuBqJI5d3Ba+Xs0BxYr0IYFH1OWO3k2iHGlU=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.6.1/hlint-3.6.1.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/hlint-3.6.1/hlint-3.6.1.tar.gz"
}
},
"lsp": {
"flake": false,
"locked": {
"narHash": "sha256-HcEfdYUrCHufEa+10M2wESjnK41xM/msd+t6r6JwQO0=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-2.2.0.0/lsp-2.2.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-2.2.0.0/lsp-2.2.0.0.tar.gz"
}
},
"lsp-test": {
"flake": false,
"locked": {
"narHash": "sha256-E1D3X2+I9ZTZLpHDEDTXexQFYpyG5byOFRIvRTeBsn8=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-test-0.16.0.0/lsp-test-0.16.0.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-test-0.16.0.0/lsp-test-0.16.0.0.tar.gz"
}
},
"lsp-types": {
"flake": false,
"locked": {
"narHash": "sha256-Oa5HuKdsdTSQUKtuSt06zVAq19Qxq5IJZObrnPwlB6s=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-types-2.0.2.0/lsp-types-2.0.2.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/lsp-types-2.0.2.0/lsp-types-2.0.2.0.tar.gz"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1764252443,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "narHash": "sha256-U4G4dUSYWZYKtrF7/ozebD1B96at08SIhY4R9OaK1nw=",
"path": "/nix/store/4fgs7yzsy2dqnjw8j42qlp9i1vgarzy0-source", "owner": "colonelpanic8",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c", "repo": "nixpkgs",
"type": "path" "rev": "e1fc6c25b91d3d49dd02a156237721f12dbd86b2",
"type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "owner": "colonelpanic8",
"type": "indirect" "ref": "remove-gi-gtk-hs-patch",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1686874404, "lastModified": 1730768919,
"narHash": "sha256-u2Ss8z+sGaVlKtq7sCovQ8WvXY+OoXJmY1zmyxITiaY=", "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "efc10371d5c5b8d2d58bab6c1100753efacfe550", "rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "haskell-updates", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1689098530,
"narHash": "sha256-fxc/9f20wRyo/5ydkmZkX/Sh/ULa7RcT8h+cUv8p/44=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f2406198ea0e4e37d4380d0e20336c575b8f8ef9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1666603677, "lastModified": 1666603677,
"narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=", "narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=",
@@ -437,41 +192,38 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1764230294,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "narHash": "sha256-Z63xl5Scj3Y/zRBPAWq1eT68n2wBWGCIEF4waZ0bQBE=",
"path": "/nix/store/4fgs7yzsy2dqnjw8j42qlp9i1vgarzy0-source", "owner": "NixOS",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c", "repo": "nixpkgs",
"type": "path" "rev": "0d59e0290eefe0f12512043842d7096c4070f30e",
"type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"type": "indirect" "type": "indirect"
} }
}, },
"ormolu-052": { "pre-commit-hooks": {
"flake": false, "inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": "nixpkgs_2"
},
"locked": { "locked": {
"narHash": "sha256-H7eqId488RBRxcf7flgJefAZmRgFJASJva+Oy7GG4q4=", "lastModified": 1747372754,
"type": "tarball", "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"url": "https://hackage.haskell.org/package/ormolu-0.5.2.0/ormolu-0.5.2.0.tar.gz" "owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
}, },
"original": { "original": {
"type": "tarball", "owner": "cachix",
"url": "https://hackage.haskell.org/package/ormolu-0.5.2.0/ormolu-0.5.2.0.tar.gz" "repo": "pre-commit-hooks.nix",
} "type": "github"
},
"ormolu-07": {
"flake": false,
"locked": {
"narHash": "sha256-5M5gNzSvsiQH1+0oexRByzf5EIET+0BFwR4fLIr2P7g=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/ormolu-0.7.1.0/ormolu-0.7.1.0.tar.gz"
} }
}, },
"root": { "root": {
@@ -479,24 +231,11 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"taffybar": "taffybar", "taffybar": "taffybar",
"xmonad": "xmonad_2" "xmonad": "xmonad"
} }
}, },
"status-notifier-item": { "status-notifier-item": {
"inputs": { "flake": false,
"flake-utils": [
"taffybar",
"flake-utils"
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1641783528, "lastModified": 1641783528,
"narHash": "sha256-wJymJfYPFj4/r1e4kT/wt9FEsyCXo5JkkcOoozpuhag=", "narHash": "sha256-wJymJfYPFj4/r1e4kT/wt9FEsyCXo5JkkcOoozpuhag=",
@@ -511,18 +250,6 @@
"type": "github" "type": "github"
} }
}, },
"stylish-haskell-0145": {
"flake": false,
"locked": {
"narHash": "sha256-EE7RFQ6q4Ek8daRgOpNMGepYLa9o8cM4OLjTNUSHQf0=",
"type": "tarball",
"url": "https://hackage.haskell.org/package/stylish-haskell-0.14.5.0/stylish-haskell-0.14.5.0.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://hackage.haskell.org/package/stylish-haskell-0.14.5.0/stylish-haskell-0.14.5.0.tar.gz"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -568,53 +295,42 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"taffybar": { "taffybar": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"git-ignore-nix": "git-ignore-nix",
"gtk-sni-tray": "gtk-sni-tray", "gtk-sni-tray": "gtk-sni-tray",
"gtk-strut": "gtk-strut", "gtk-strut": "gtk-strut",
"haskell-language-server": "haskell-language-server", "nixpkgs": [
"nixpkgs": "nixpkgs_3", "nixpkgs"
],
"status-notifier-item": "status-notifier-item", "status-notifier-item": "status-notifier-item",
"xmonad": "xmonad" "weeder-nix": "weeder-nix",
"xmonad": [
"xmonad"
]
}, },
"locked": { "locked": {
"lastModified": 1696612500, "lastModified": 1760591109,
"narHash": "sha256-Q19F91yVQviqxgY+FkvEwtX2vcw414eVtK8erim0NrU=", "narHash": "sha256-O21ayp5v2eccXdcwNjTK5ZB99ruK0Zt9CUaw5Rye42g=",
"owner": "taffybar", "owner": "taffybar",
"repo": "taffybar", "repo": "taffybar",
"rev": "46eba89c2a4d4ffefe42c3ee4506d1b74c8e61fd", "rev": "b256a711416036ca124fc9b3f89e7c957535e465",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "taffybar", "owner": "taffybar",
"ref": "master",
"repo": "taffybar", "repo": "taffybar",
"type": "github" "type": "github"
} }
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1689098530, "lastModified": 1764242076,
"narHash": "sha256-fxc/9f20wRyo/5ydkmZkX/Sh/ULa7RcT8h+cUv8p/44=", "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f2406198ea0e4e37d4380d0e20336c575b8f8ef9", "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -624,66 +340,41 @@
"type": "github" "type": "github"
} }
}, },
"unstable_2": { "weeder-nix": {
"inputs": {
"nixpkgs": [
"taffybar",
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": { "locked": {
"lastModified": 1704538339, "lastModified": 1748252779,
"narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", "narHash": "sha256-kSyD/VDUX2m9c2vcuLBT2wnpYiVSHHlP9vuDTtsAtD8=",
"owner": "NixOS", "owner": "NorfairKing",
"repo": "nixpkgs", "repo": "weeder-nix",
"rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", "rev": "388df7a6f00220d1960118e1ad37cd86150d2c5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NorfairKing",
"ref": "nixos-unstable", "repo": "weeder-nix",
"repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"xmonad": { "xmonad": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": "flake-utils_3",
"taffybar", "git-ignore-nix": "git-ignore-nix",
"flake-utils" "nixpkgs": "nixpkgs_4",
],
"git-ignore-nix": [
"taffybar",
"git-ignore-nix"
],
"nixpkgs": [
"taffybar",
"nixpkgs"
],
"unstable": "unstable" "unstable": "unstable"
}, },
"locked": { "locked": {
"lastModified": 1687976934, "lastModified": 1763949843,
"narHash": "sha256-hUZmKy3jJ1+5rTGeQzfNR+LxgzmLaaeRVnbsJMEVw0Q=", "narHash": "sha256-aJXmGPWKjXs7cagVzUE3fd2Fpc+sXnknM446AxHgvH0=",
"owner": "xmonad", "owner": "xmonad",
"repo": "xmonad", "repo": "xmonad",
"rev": "1aac6611d82065c9198e5584176058a9483fcbb0", "rev": "97edef37a3ae10012272d692b5e1bc9b7013fc14",
"type": "github"
},
"original": {
"owner": "xmonad",
"ref": "master",
"repo": "xmonad",
"type": "github"
}
},
"xmonad_2": {
"inputs": {
"flake-utils": "flake-utils_4",
"git-ignore-nix": "git-ignore-nix_2",
"nixpkgs": "nixpkgs_5",
"unstable": "unstable_2"
},
"locked": {
"lastModified": 1702895348,
"narHash": "sha256-ADRTw4DTfDCmsSFFWZKmvdmIjnEVY7pjjUxYytKXy1E=",
"owner": "xmonad",
"repo": "xmonad",
"rev": "c4cf4715f736fed77fb2af622c0760259ac2cf43",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,15 +1,30 @@
{ {
inputs = { inputs = {
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:colonelpanic8/nixpkgs/remove-gi-gtk-hs-patch";
xmonad.url = "github:xmonad/xmonad/master"; xmonad.url = "github:xmonad/xmonad/master";
taffybar.url = "github:taffybar/taffybar"; taffybar = {
url = "github:taffybar/taffybar/master";
inputs.nixpkgs.follows = "nixpkgs";
inputs.xmonad.follows = "xmonad";
};
}; };
outputs = { self, flake-utils, taffybar, nixpkgs, xmonad }: outputs = { self, flake-utils, taffybar, nixpkgs, xmonad }:
let let
hoverlay = final: prev: hself: hsuper: { hoverlay = final: prev: hself: hsuper:
taffybar = hsuper.taffybar.overrideAttrs (old: { {
taffybar = prev.haskell.lib.overrideCabal hsuper.taffybar (oa: {
doHaddock = false; doHaddock = false;
doCheck = false;
# Fix for GHC 9.4 where liftA2 is not in Prelude
postPatch = (oa.postPatch or "") + ''
substituteInPlace src/System/Taffybar/DBus/Client/Util.hs \
--replace-fail "import Control.Monad (forM)" \
"import Control.Monad (forM)
import Control.Applicative (liftA2)"
'';
}); });
# gi-gtk-hs patching is now handled by taffybar's fixVersionNamePackages overlay
imalison-taffybar = prev.haskell.lib.addPkgconfigDepends ( imalison-taffybar = prev.haskell.lib.addPkgconfigDepends (
hself.callCabal2nix "imalison-taffybar" hself.callCabal2nix "imalison-taffybar"
( (
@@ -34,9 +49,9 @@
}; };
defComp = { compiler = "ghc94"; }; defComp = { compiler = "ghc94"; };
overlay = xmonad.lib.fromHOL hoverlay defComp; overlay = xmonad.lib.fromHOL hoverlay defComp;
overlays = [ taffybar.overlay overlay ]; overlayList = [ taffybar.overlays.default overlay ];
in flake-utils.lib.eachDefaultSystem (system: in flake-utils.lib.eachDefaultSystem (system:
let pkgs = import nixpkgs { inherit system overlays; config.allowBroken = true; }; let pkgs = import nixpkgs { inherit system; overlays = overlayList; config.allowBroken = true; };
hpkgs = pkgs.lib.attrsets.getAttrFromPath (xmonad.lib.hpath defComp) pkgs; hpkgs = pkgs.lib.attrsets.getAttrFromPath (xmonad.lib.hpath defComp) pkgs;
in in
{ {
@@ -48,5 +63,11 @@
]; ];
}; };
defaultPackage = hpkgs.imalison-taffybar; defaultPackage = hpkgs.imalison-taffybar;
}) // { inherit overlay overlays; } ; }) // {
inherit overlay;
overlays = {
default = overlay;
taffybar = taffybar.overlays.default;
};
} ;
} }

View File

@@ -21,7 +21,7 @@ executable taffybar
, containers , containers
, directory , directory
, filepath , filepath
, gi-gtk , gi-gtk3
, gtk-sni-tray , gtk-sni-tray
, gtk-strut , gtk-strut
, haskell-gi-base , haskell-gi-base

View File

@@ -204,6 +204,35 @@ We're going to use this to write separate parts of our config to different secti
((current-time (&rest args) time)) ((current-time (&rest args) time))
(funcall fn))) (funcall fn)))
#+end_src #+end_src
** Reschedule Past Items to Today
This function finds all incomplete items in the agenda files that are scheduled
in the past and reschedules them to today. Useful for catching up on tasks that
have slipped past their original scheduled date.
#+begin_src emacs-lisp :tangle org-config-config.el
(defun imalison:reschedule-past-to-today ()
"Reschedule all incomplete items scheduled in the past to today.
Iterates through all org-agenda files and reschedules any TODO items
that have a SCHEDULED date before today to the current date."
(interactive)
(let* ((today-time (org-time-string-to-time (format-time-string "<%Y-%m-%d>")))
(rescheduled-count 0))
(org-map-entries
(lambda ()
(let* ((scheduled (org-entry-get nil "SCHEDULED"))
(scheduled-time (when scheduled (org-time-string-to-time scheduled))))
(when (and scheduled-time
(not (org-entry-is-done-p))
(time-less-p scheduled-time today-time))
(org-schedule nil ".")
(cl-incf rescheduled-count))))
nil
'agenda)
(message "Rescheduled %d items to today" rescheduled-count)))
#+end_src
#+RESULTS:
: imalison:reschedule-past-to-today
** Miscellaneous ** Miscellaneous
#+begin_src emacs-lisp :tangle org-config-config.el #+begin_src emacs-lisp :tangle org-config-config.el
(add-to-list 'org-show-context-detail '(org-goto . lineage)) (add-to-list 'org-show-context-detail '(org-goto . lineage))

View File

@@ -3,9 +3,6 @@
options = { options = {
}; };
config = { config = {
environment.systemPackages = with pkgs; [
android-udev-rules
];
nixpkgs.config.android_sdk.accept_license = true; nixpkgs.config.android_sdk.accept_license = true;
programs.adb.enable = true; programs.adb.enable = true;
}; };

View File

@@ -72,6 +72,7 @@ makeEnable config "myModules.base" true {
services.locate.enable = true; services.locate.enable = true;
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
services.orca.enable = false;
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;
@@ -82,8 +83,6 @@ makeEnable config "myModules.base" true {
hardware.keyboard.zsa.enable = true; hardware.keyboard.zsa.enable = true;
services.logind.extraConfig = "RuntimeDirectorySize=5G";
# For supporting gnome stuff # For supporting gnome stuff
services.dbus.packages = [ pkgs.gcr ]; services.dbus.packages = [ pkgs.gcr ];

View File

@@ -7,15 +7,15 @@ makeEnable config "myModules.code" true {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# LLM Tools # LLM Tools
antigravity
claude-code claude-code
codex codex
gemini-cli
# MCP # MCP
github-mcp-server github-mcp-server
gitea-mcp-server gitea-mcp-server
mcp-nixos
playwright-mcp playwright-mcp
mcp-language-server
# C # C
clang clang
@@ -47,6 +47,7 @@ makeEnable config "myModules.code" true {
# Rust # Rust
rustup rustup
cargo-sweep
# Clojure # Clojure
boot boot

View File

@@ -40,7 +40,7 @@ makeEnable config "myModules.desktop" true {
# Appearance # Appearance
adwaita-icon-theme adwaita-icon-theme
hicolor-icon-theme hicolor-icon-theme
libsForQt5.breeze-gtk # libsForQt5.breeze-gtk
# materia-theme # materia-theme
numix-icon-theme-circle numix-icon-theme-circle
papirus-icon-theme papirus-icon-theme
@@ -74,7 +74,7 @@ makeEnable config "myModules.desktop" true {
lxqt.lxqt-powermanagement lxqt.lxqt-powermanagement
networkmanagerapplet networkmanagerapplet
kdePackages.okular kdePackages.okular
pinentry pinentry-gnome3
# mission-center # mission-center
quassel quassel
remmina remmina
@@ -109,7 +109,7 @@ makeEnable config "myModules.desktop" true {
slack slack
spicetify-cli spicetify-cli
spotify spotify
tor-browser-bundle-bin tor-browser
vscode vscode
zulip zulip
] else []); ] else []);

View File

@@ -26,7 +26,6 @@
git-lfs git-lfs
git-sync git-sync
gitFull gitFull
glxinfo
gnumake gnumake
gparted gparted
home-manager home-manager
@@ -39,6 +38,7 @@
lshw lshw
lsof lsof
magic-wormhole-rs magic-wormhole-rs
mesa-demos
ncdu ncdu
neofetch neofetch
neovim neovim

840
nixos/flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,6 +30,9 @@
railbird-secrets = { railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git"; url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
}; };
# railbird-secrets = {
# url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
# };
xmonad = { xmonad = {
url = "github:xmonad/xmonad"; url = "github:xmonad/xmonad";
@@ -110,10 +113,80 @@
}; };
outputs = inputs @ { outputs = inputs @ {
self, nixpkgs, nixos-hardware, home-manager, taffybar, xmonad, nixtheplanet, self,
xmonad-contrib, notifications-tray-icon, nix, agenix, imalison-taffybar, ... nixpkgs,
}: nixos-hardware,
let home-manager,
taffybar,
xmonad,
nixtheplanet,
xmonad-contrib,
notifications-tray-icon,
nix,
agenix,
imalison-taffybar,
...
}: let
# Nixpkgs PR patches - just specify PR number and hash
nixpkgsPRPatches = [
{
pr = 434160; # git-sync-rs package
hash = "sha256-zjzjmC1XJmwfHr/YXFyYsqUFR5MHSoxWWyxIR35YNbM=";
}
# claude-code
# {
# pr = 464698;
# hash = "sha256-Pe9G6b/rI0874mM7FIOSEKiaubk95NcFhTQ7paAeLTU=";
# }
# {
# pr = 464816;
# hash = "sha256-bKEoRy4dzP5TyRBjYskwEzr7tj8/ez/Y1XHiQgu5q5I=";
# }
];
# Custom patches that don't fit the PR template
nixpkgsCustomPatches = [
];
# Home-manager PR patches - just specify PR number and hash
homeManagerPRPatches = [
# Example:
# {
# pr = 1234;
# hash = "sha256-...";
# }
];
# Custom home-manager patches that don't fit the PR template
homeManagerCustomPatches = [
{
url = "https://github.com/colonelpanic8/home-manager/commit/92f4b7aa5254f8bcddc9ef86e04ea5314410d10b.patch";
hash = "sha256-RQl5daVpCqQi05l9QfTEz2PpQxmsv/HYnXrgXbqbwWk=";
}
];
# Convert PR patches to full patch format for nixpkgs
nixpkgsPrPatchesToPatches = prPatches:
map (p: {
url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/${toString p.pr}.patch";
hash = p.hash;
})
prPatches;
# Convert PR patches to full patch format for home-manager
homeManagerPrPatchesToPatches = prPatches:
map (p: {
url = "https://patch-diff.githubusercontent.com/raw/nix-community/home-manager/pull/${toString p.pr}.patch";
hash = p.hash;
})
prPatches;
# Combine all nixpkgs patches
allNixpkgsPatches = (nixpkgsPrPatchesToPatches nixpkgsPRPatches) ++ nixpkgsCustomPatches;
# Combine all home-manager patches
allHomeManagerPatches = (homeManagerPrPatchesToPatches homeManagerPRPatches) ++ homeManagerCustomPatches;
machinesFilepath = ./machines; machinesFilepath = ./machines;
machineFilenames = builtins.attrNames (builtins.readDir machinesFilepath); machineFilenames = builtins.attrNames (builtins.readDir machinesFilepath);
machineNameFromFilename = filename: builtins.head (builtins.split "\\." filename); machineNameFromFilename = filename: builtins.head (builtins.split "\\." filename);
@@ -122,7 +195,9 @@
name = machineNameFromFilename filename; name = machineNameFromFilename filename;
value = { value = {
modules = [ modules = [
(machinesFilepath + ("/" + filename)) agenix.nixosModules.default nixtheplanet.nixosModules.macos-ventura (machinesFilepath + ("/" + filename))
agenix.nixosModules.default
nixtheplanet.nixosModules.macos-ventura
]; ];
}; };
}; };
@@ -136,14 +211,13 @@
system = "aarch64-linux"; system = "aarch64-linux";
}; };
}; };
mkConfig = mkConfig = {
{ system ? "x86_64-linux" system ? "x86_64-linux",
, baseModules ? [] baseModules ? [],
, modules ? [] modules ? [],
, specialArgs ? {} specialArgs ? {},
, ... ...
}: }: let
let
# Bootstrap nixpkgs for this specific system # Bootstrap nixpkgs for this specific system
bootstrapPkgs = import nixpkgs { bootstrapPkgs = import nixpkgs {
inherit system; inherit system;
@@ -154,47 +228,70 @@
patchedSource = bootstrapPkgs.applyPatches { patchedSource = bootstrapPkgs.applyPatches {
name = "nixpkgs-patched"; name = "nixpkgs-patched";
src = nixpkgs; src = nixpkgs;
patches = [ patches = map bootstrapPkgs.fetchpatch allNixpkgsPatches;
# Rumno service PR prePatch = ''
(bootstrapPkgs.fetchpatch { mkdir -p pkgs/by-name/an/antigravity
url = "https://github.com/NixOS/nixpkgs/pull/433540.patch"; '';
hash = "sha256-G4eJaX351/HMB0z4QNfgob+bVuqCcTEMGE7IPNcIGbw=";
})
# git-sync-rs package
(bootstrapPkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/434160.patch";
hash = "sha256-1xm75lWEKWbX0qsbeXWX3lRRZIFO3/sdrZZYJxKGD2o=";
})
(bootstrapPkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/436061.patch";
hash = "sha256-HZquaNBB+w5Hm5kdzvaGg7QAOgAf/EPBO7o7pKkIrMY=";
})
];
}; };
# Get eval-config from patched source # Get eval-config from patched source
evalConfig = import "${patchedSource}/nixos/lib/eval-config.nix"; evalConfig = import "${patchedSource}/nixos/lib/eval-config.nix";
# Apply patches to home-manager source (only if there are patches)
patchedHomeManagerSource =
if allHomeManagerPatches == []
then home-manager
else
bootstrapPkgs.applyPatches {
name = "home-manager-patched";
src = home-manager;
patches = map bootstrapPkgs.fetchpatch allHomeManagerPatches;
};
# Import the patched home-manager flake
patchedHomeManager =
if allHomeManagerPatches == []
then home-manager
else import "${patchedHomeManagerSource}/flake.nix";
# Get the NixOS module from the patched source
patchedHomeManagerModule =
if allHomeManagerPatches == []
then home-manager.nixosModules.home-manager
else import "${patchedHomeManagerSource}/nixos";
# Create a modified inputs with patched home-manager
patchedInputs = inputs // {
home-manager = inputs.home-manager // {
nixosModules = inputs.home-manager.nixosModules // {
home-manager = patchedHomeManagerModule;
};
# Also provide the patched source path for any direct imports
outPath = patchedHomeManagerSource.outPath or "${patchedHomeManagerSource}";
};
};
in in
evalConfig { evalConfig {
inherit system; inherit system;
modules = baseModules ++ modules; modules = baseModules ++ modules;
specialArgs = rec { specialArgs =
inherit inputs machineNames; rec {
inputs = patchedInputs;
inherit machineNames;
makeEnable = (import ./make-enable.nix) nixpkgs.lib; makeEnable = (import ./make-enable.nix) nixpkgs.lib;
keys = (import ./keys.nix); keys = import ./keys.nix;
usersInfo = (import ./users.nix) { usersInfo = (import ./users.nix) {
pkgs = {zsh = "zsh";}; pkgs = {zsh = "zsh";};
inherit keys inputs system; inherit keys system;
inputs = patchedInputs;
}; };
realUsers = (builtins.attrNames realUsers = (
builtins.attrNames
(nixpkgs.lib.filterAttrs (nixpkgs.lib.filterAttrs
(_: value: (builtins.elem "isNormalUser" (builtins.attrNames value)) && value.isNormalUser) usersInfo.users.users) (_: value: (builtins.elem "isNormalUser" (builtins.attrNames value)) && value.isNormalUser)
usersInfo.users.users)
); );
mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: {inherit name value;}) keys); mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: {inherit name value;}) keys);
forEachUser = mapAllKeysToValue realUsers; forEachUser = mapAllKeysToValue realUsers;
} // specialArgs; }
// specialArgs;
}; };
in in {
{
nixConfig = { nixConfig = {
substituters = [ substituters = [
"https://cache.nixos.org/" "https://cache.nixos.org/"
@@ -204,17 +301,23 @@
]; ];
extra-substituters = [ extra-substituters = [
"http://192.168.1.26:5050" "http://192.168.1.26:5050"
"https://cache.flox.dev"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"1896Folsom.duckdns.org:U2FTjvP95qwAJo0oGpvmUChJCgi5zQoG1YisoI08Qoo=" "1896Folsom.duckdns.org:U2FTjvP95qwAJo0oGpvmUChJCgi5zQoG1YisoI08Qoo="
"flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
]; ];
}; };
nixosConfigurations = builtins.mapAttrs (machineName: params: nixosConfigurations =
let machineParams = builtins.mapAttrs (
machineName: params: let
machineParams =
if builtins.hasAttr machineName customParams if builtins.hasAttr machineName customParams
then (builtins.getAttr machineName customParams) then (builtins.getAttr machineName customParams)
else {}; else {};
in mkConfig (params // machineParams) in
) defaultConfigurationParams; mkConfig (params // machineParams)
)
defaultConfigurationParams;
}; };
} }

View File

@@ -15,7 +15,7 @@ makeEnable config "myModules.fonts" true {
fira-mono fira-mono
font-awesome font-awesome
noto-fonts-emoji noto-fonts-color-emoji
roboto roboto
source-code-pro source-code-pro
source-sans-pro source-sans-pro

View File

@@ -45,11 +45,13 @@ makeEnable config "myModules.gitea-runner" false {
]; ];
}; };
systemd.services.gitea-runner-nix.environment = systemd.services.gitea-runner-nix = {
let gitea-runner-directory = "/var/lib/gitea-runner"; in { environment = let gitea-runner-directory = "/var/lib/gitea-runner"; in {
XDG_CONFIG_HOME = gitea-runner-directory; XDG_CONFIG_HOME = gitea-runner-directory;
XDG_CACHE_HOME = "${gitea-runner-directory}/.cache"; XDG_CACHE_HOME = "${gitea-runner-directory}/.cache";
}; };
serviceConfig.PrivateTmp = false;
};
users.groups.gitea-runner = {}; users.groups.gitea-runner = {};
users.users.gitea-runner = { users.users.gitea-runner = {
isSystemUser = true; isSystemUser = true;

View File

@@ -11,7 +11,22 @@
programs.home-manager.enable = true; programs.home-manager.enable = true;
programs.ssh = { programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
forwardAgent = true; forwardAgent = true;
addKeysToAgent = "no";
compression = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
};
};
}; };
services.gpg-agent = { services.gpg-agent = {
@@ -49,7 +64,7 @@
}; };
font = { font = {
package = pkgs.noto-fonts-emoji; package = pkgs.noto-fonts-color-emoji;
name = "Noto Sans"; name = "Noto Sans";
size = 10; size = 10;
}; };

View File

@@ -1,6 +1,4 @@
{ makeEnable, config, ... }: { makeEnable, config, ... }:
makeEnable config "myModules.laptop" true { makeEnable config "myModules.laptop" true {
services.logind = { services.logind.settings.Login.HandleLidSwitchExternalPower = "ignore";
lidSwitchExternalPower = "ignore";
};
} }

View File

@@ -19,6 +19,63 @@
myModules.fonts.enable = true; myModules.fonts.enable = true;
myModules.gitea-runner.enable = true; myModules.gitea-runner.enable = true;
myModules.postgres.enable = true; myModules.postgres.enable = true;
myModules.gitea.enable = true;
age.secrets.vaultwarden-environment-file = {
file = ../secrets/vaultwarden-environment-file.age;
owner = "vaultwarden";
};
services.vaultwarden = {
enable = true;
backupDir = "/var/backup/vaultwarden";
environmentFile = config.age.secrets.vaultwarden-environment-file.path;
config = {
ROCKET_ADDRESS = "::1";
ROCKET_PORT = 8222;
};
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedGzipSettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"vaultwarden.railbird.ai" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://[::1]:8222";
};
};
"syncthing.railbird.ai" = {
enableACME = true;
forceSSL = true;
root = "/var/lib/syncthing/railbird";
locations."/" = {
extraConfig = ''
autoindex on;
'';
};
};
"docs.railbird.ai" = {
enableACME = true;
forceSSL = true;
root = "/var/lib/syncthing/railbird/docs";
locations."/" = {
extraConfig = ''
autoindex on;
'';
};
};
};
};
security.acme = {
acceptTerms = true;
defaults.email = "IvanMalison@gmail.com";
};
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
myModules.nvidia.enable = true; myModules.nvidia.enable = true;

View File

@@ -29,10 +29,8 @@
nvidiaSettings = true; nvidiaSettings = true;
}; };
features.full.enable = false;
myModules.base.enable = true; myModules.base.enable = true;
myModules.desktop.enable = true; myModules.desktop.enable = true;
myModules.xmonad.enable = false;
myModules.code.enable = true; myModules.code.enable = true;
myModules.syncthing.enable = true; myModules.syncthing.enable = true;
myModules.fonts.enable = true; myModules.fonts.enable = true;

View File

@@ -6,7 +6,6 @@
inputs.nixos-hardware.nixosModules.asus-rog-strix-g834jzr inputs.nixos-hardware.nixosModules.asus-rog-strix-g834jzr
]; ];
hardware.nvidia.open = true;
myModules.base.enable = true; myModules.base.enable = true;
myModules.desktop.enable = true; myModules.desktop.enable = true;
myModules.xmonad.enable = true; myModules.xmonad.enable = true;
@@ -22,8 +21,11 @@
myModules.tts.enable = false; myModules.tts.enable = false;
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
# nixpkgs.config.cudaSupport = true; # nixpkgs.config.cudaSupport = true;
boot.loader.systemd-boot.configurationLimit = 5;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
android-studio android-studio
]; ];
@@ -35,7 +37,7 @@
}; };
services.matter-server = { services.matter-server = {
enable = true; enable = false;
logLevel = "debug"; logLevel = "debug";
extraArgs = ["--bluetooth-adapter=0" "--enable-test-net-dcl"]; extraArgs = ["--bluetooth-adapter=0" "--enable-test-net-dcl"];
}; };
@@ -46,6 +48,8 @@
services.xserver.dpi = 96; services.xserver.dpi = 96;
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
# See https://github.com/NixOS/nixpkgs/issues/467814 for why this was needed
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "nvidia" "nvidia_drm" "nvidia_uvm" "nvidia_modeset" ]; boot.initrd.kernelModules = [ "nvidia" "nvidia_drm" "nvidia_uvm" "nvidia_modeset" ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];

View File

@@ -16,8 +16,8 @@ makeEnable config "myModules.nvidia" false {
}; };
hardware.nvidia.open = true; hardware.nvidia.open = true;
hardware.graphics.enable32Bit = true; hardware.graphics.enable32Bit = true;
hardware.graphics.extraPackages = [ config.boot.kernelPackages.nvidia_x11.out ]; hardware.graphics.extraPackages = [ config.hardware.nvidia.package.out ];
hardware.graphics.extraPackages32 = [ config.boot.kernelPackages.nvidia_x11.lib32 ]; hardware.graphics.extraPackages32 = [ config.hardware.nvidia.package.lib32 ];
services.xserver = { services.xserver = {
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
}; };

View File

@@ -1,5 +1,20 @@
final: prev: final: prev:
let
# Claude Code version override - update these values to bump the version
claudeCodeVersion = {
version = "2.0.67";
hash = "sha256-HwT9YfoX44b18Sr1VdXMo0X7nIBrai1AAGPbV9l0zv8=";
npmDepsHash = "sha256-DNdRkN/rpCsN8fnZbz18r2KRUTl5HCur+GyrofH+T/Y=";
};
in
{ {
# claude-code = prev.claude-code.overrideAttrs (oldAttrs: {
# inherit (claudeCodeVersion) version npmDepsHash;
# src = prev.fetchurl {
# url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${claudeCodeVersion.version}.tgz";
# inherit (claudeCodeVersion) hash;
# };
# });
# nvidia-container-toolkit = prev.nvidia-container-toolkit.overrideAttrs(old: { # nvidia-container-toolkit = prev.nvidia-container-toolkit.overrideAttrs(old: {
# postInstall = '' # postInstall = ''
# ${old.postInstall or ""} # ${old.postInstall or ""}
@@ -134,7 +149,7 @@ final: prev:
python-with-my-packages = let python-with-my-packages = let
my-python-packages = python-packages: my-python-packages = python-packages:
with python-packages; [ with python-packages; [
universal-silabs-flasher # universal-silabs-flasher
argcomplete argcomplete
appdirs appdirs
ipdb ipdb
@@ -143,19 +158,9 @@ final: prev:
openpyxl openpyxl
pip pip
requests requests
tox
]; ];
in in
final.python311.withPackages my-python-packages; final.python3.withPackages my-python-packages;
claude-code = prev.claude-code.overrideAttrs (oldAttrs: rec {
version = "1.0.86";
src = prev.fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-mVXS75KgeKgD7EI5t9X6+TkwjBFyBLOo4/m50sS9XdA=";
};
npmDepsHash = "";
});
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
( (
@@ -174,11 +179,11 @@ final: prev:
url = "https://raw.githubusercontent.com/tronikos/chip-wheels/8a5ec21d114010723cf428ffe79e244da7562390/8766-Bypass-attestation-verification.patch"; url = "https://raw.githubusercontent.com/tronikos/chip-wheels/8a5ec21d114010723cf428ffe79e244da7562390/8766-Bypass-attestation-verification.patch";
sha256 = "sha256-RgmlPRSfw1PPMdHBzpoK2Drrb8nEagATY8Y5ngi7x0k="; sha256 = "sha256-RgmlPRSfw1PPMdHBzpoK2Drrb8nEagATY8Y5ngi7x0k=";
}; };
postPatch = '' postPatch = (oldAttrs.postPatch or "") + ''
pushd connectedhomeip pushd connectedhomeip
patch -p1 < ${bypassAttestationVerificationPatch} patch -p1 < ${bypassAttestationVerificationPatch}
popd popd
'' + oldAttrs.postPatch; '';
}); });
} }
) )

View File

@@ -16,7 +16,5 @@ makeEnable config "myModules.plasma" true {
# sddm-astronaut # sddm-astronaut
]; ];
}; };
services.xserver = { services.desktopManager.plasma6.enable = true;
desktopManager.plasma6.enable = true;
};
} }

View File

@@ -0,0 +1,12 @@
diff --git a/src/lib/server/InputFilter.cpp b/src/lib/server/InputFilter.cpp
index 1234567..abcdefg 100644
--- a/src/lib/server/InputFilter.cpp
+++ b/src/lib/server/InputFilter.cpp
@@ -26,6 +26,7 @@
#include <cstdlib>
#include <sstream>
#include <cstring>
+#include <cstdint>
// -----------------------------------------------------------------------------
// Input Filter Condition

View File

@@ -21,7 +21,8 @@ makeEnable config "myModules.wyoming" false {
}; };
openwakeword = { openwakeword = {
enable = true; enable = true;
preloadModels = ["alexa" "ok_nabu" "hey_rhasspy"]; # wyoming-openwakeword >=2.0 eagerly loads bundled models, so the
# previous preloadModels setting is no longer available.
uri = "tcp://0.0.0.0:10400"; uri = "tcp://0.0.0.0:10400";
}; };

View File

@@ -28,7 +28,7 @@ makeEnable config "myModules.xmonad" true {
haskellPackages.xmonad haskellPackages.xmonad
haskellPackages.imalison-xmonad haskellPackages.imalison-xmonad
# haskellPackages.notifications-tray-icon # haskellPackages.notifications-tray-icon
haskellPackages.gtk-sni-tray # haskellPackages.gtk-sni-tray
haskellPackages.status-notifier-item haskellPackages.status-notifier-item
haskellPackages.dbus-hslogger haskellPackages.dbus-hslogger
inputs.imalison-taffybar.defaultPackage."${pkgs.system}" inputs.imalison-taffybar.defaultPackage."${pkgs.system}"
@@ -53,12 +53,22 @@ makeEnable config "myModules.xmonad" true {
services.network-manager-applet.enable = true; services.network-manager-applet.enable = true;
# Disable the XDG autostart for nm-applet since we're managing it via systemd.
# The XDG autostart races with the systemd service and doesn't use --indicator.
xdg.configFile."autostart/nm-applet.desktop".text = ''
[Desktop Entry]
Hidden=true
'';
services.udiskie = { services.udiskie = {
enable = true; enable = true;
tray = "always"; tray = "always";
}; };
services.status-notifier-watcher.enable = true; services.status-notifier-watcher = {
enable = true;
flags = ["--log-level" "DEBUG"];
};
services.autorandr.enable = true; services.autorandr.enable = true;