Merge branch 'zenix/master' into alpine/master
This commit is contained in:
commit
2c406b36d3
38 changed files with 843 additions and 360 deletions
|
|
@ -1,2 +1,3 @@
|
|||
lib/words.txt
|
||||
lib/emotes.txt
|
||||
flake.lock
|
||||
|
|
|
|||
374
flake.lock
generated
374
flake.lock
generated
|
|
@ -5,11 +5,11 @@
|
|||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708890466,
|
||||
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
|
||||
"lastModified": 1732200724,
|
||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "665b3c6748534eb766c777298721cece9453fdae",
|
||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -53,11 +53,11 @@
|
|||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716150083,
|
||||
"narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=",
|
||||
"lastModified": 1731949548,
|
||||
"narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d",
|
||||
"rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -74,11 +74,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722113426,
|
||||
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||
"lastModified": 1728330715,
|
||||
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -120,11 +120,11 @@
|
|||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -141,11 +141,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -159,11 +159,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -180,11 +180,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -196,11 +196,11 @@
|
|||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1689549921,
|
||||
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -226,11 +226,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726745158,
|
||||
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
|
||||
"lastModified": 1734425854,
|
||||
"narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
|
||||
"rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -264,32 +264,50 @@
|
|||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1713702291,
|
||||
"narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=",
|
||||
"lastModified": 1732369855,
|
||||
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934",
|
||||
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "46.1",
|
||||
"ref": "47.2",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hm-cosmic": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"home-manager-cosmic": "home-manager-cosmic"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733104727,
|
||||
"narHash": "sha256-2a4w7OxuncH/qh+eBou65v+Ow7ZH8CobfFId3ckSQdo=",
|
||||
"owner": "tristanbeedell",
|
||||
"repo": "hm-cosmic",
|
||||
"rev": "8c7ae2855827101eff7e52dd320599a487c78936",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tristanbeedell",
|
||||
"ref": "master",
|
||||
"repo": "hm-cosmic",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727346017,
|
||||
"narHash": "sha256-z7OCFXXxIseJhEHiCkkUOkYxD9jtLU8Kf5Q9WC0SjJ8=",
|
||||
"lastModified": 1733085484,
|
||||
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c124568e1054a62c20fbe036155cc99237633327",
|
||||
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -301,14 +319,14 @@
|
|||
},
|
||||
"home-manager-cosmic": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728250817,
|
||||
"narHash": "sha256-OVHpUlNxHpQUe2Waav/MR+Z7fm6ft/w8SxWlvXv+AdU=",
|
||||
"lastModified": 1733103810,
|
||||
"narHash": "sha256-S1jGheeLQJPaY80+iFu7Iv4Az3BHmVlv8PxngnK8Aog=",
|
||||
"owner": "tristanbeedell",
|
||||
"repo": "home-manager",
|
||||
"rev": "ce770a3e442b2105852a6f5f79f3645b4c64505c",
|
||||
"rev": "efa4d272f6c2b14d4a3b67b0b1e4b38ae46e5588",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -319,6 +337,27 @@
|
|||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734808199,
|
||||
"narHash": "sha256-MxlUcLjE8xLbrI1SJ2B2jftlg4wdutEILa3fgqwA98I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f342df3ad938f205a913973b832f52c12546aac6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "master",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
|
|
@ -326,11 +365,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726985855,
|
||||
"narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=",
|
||||
"lastModified": 1734622215,
|
||||
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d",
|
||||
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -339,7 +378,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"home-manager_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
|
|
@ -347,11 +386,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724435763,
|
||||
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||
"lastModified": 1733085484,
|
||||
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -360,6 +399,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"musnix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734127708,
|
||||
"narHash": "sha256-fXDr93nc3zUDCGS5qhrXAtwBJfiI40jIdoMncLAzbUY=",
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"rev": "0a2bbd1e2ec78ef268698eb682f39015c1f3ca1d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -368,11 +453,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727003835,
|
||||
"narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=",
|
||||
"lastModified": 1733570843,
|
||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d",
|
||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -384,18 +469,16 @@
|
|||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727314564,
|
||||
"narHash": "sha256-UE98O6EQYUiDp7rypkBfJG0XSz0c5FxkslyP+7Gskt8=",
|
||||
"lastModified": 1734745015,
|
||||
"narHash": "sha256-HGl0yR/qfGTO99NfiB5bqTe2nPKmD57opzB/TwhJSW0=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "f2aa34f521da1d6335301fc1b58dde8ed779d632",
|
||||
"rev": "1c922245aec471610533c7a225bf9c20e7002ff2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -406,11 +489,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1722185531,
|
||||
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
|
||||
"lastModified": 1732837521,
|
||||
"narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
|
||||
"rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -422,58 +505,90 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1727129439,
|
||||
"narHash": "sha256-nPyrcFm6FSk7CxzVW4x2hu62aLDghNcv9dX6DF3dXw8=",
|
||||
"lastModified": 1734600368,
|
||||
"narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "babc25a577c3310cce57c72d5bed70f4c3c3843a",
|
||||
"rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1725762081,
|
||||
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=",
|
||||
"lastModified": 1734529975,
|
||||
"narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1727122398,
|
||||
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
|
||||
"rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixos-24.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1729256560,
|
||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1725534445,
|
||||
"narHash": "sha256-Yd0FK9SkWy+ZPuNqUgmVPXokxDgMJoGuNpMEtkfcf84=",
|
||||
"lastModified": 1733392399,
|
||||
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9bb1e7571aadf31ddb4af77fc64b2d59580f9a39",
|
||||
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1734424634,
|
||||
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1731763621,
|
||||
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -483,13 +598,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1725194671,
|
||||
"narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=",
|
||||
"lastModified": 1732238832,
|
||||
"narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c",
|
||||
"rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -505,7 +620,7 @@
|
|||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
"home-manager": "home-manager_3",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
|
@ -514,11 +629,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727328717,
|
||||
"narHash": "sha256-tGEVv5mFs38m6+60fNKlZn/6ucoOotfwn9FikXiYSlk=",
|
||||
"lastModified": 1734798432,
|
||||
"narHash": "sha256-JVU+WjrRZUJnUKQ/iXP9O8eQ0L3YkqV1DpFMS4kLZog=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "2ab8751b8be55accb78ca0ca58f1f4ff387001d7",
|
||||
"rev": "6a4b4221c4ebf1140f73f8df769e97f1828d90fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -530,17 +645,18 @@
|
|||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726995581,
|
||||
"narHash": "sha256-lgsE/CTkZk9OIiFGEIrxXZQ7Feiv41dqlN7pEfTdgew=",
|
||||
"lastModified": 1733773348,
|
||||
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "3b7dd61b365ca45380707453758a45f2e9977be3",
|
||||
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -551,10 +667,15 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"home-manager-cosmic": "home-manager-cosmic",
|
||||
"hm-cosmic": "hm-cosmic",
|
||||
"home-manager": "home-manager_2",
|
||||
"musnix": "musnix",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": [
|
||||
"nixos-cosmic",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nixvim": "nixvim",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix"
|
||||
|
|
@ -568,11 +689,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727231386,
|
||||
"narHash": "sha256-XLloPtQHKk/Tdt8t8zIb+JhmunlH3YB9Jz8RTlQ3N/4=",
|
||||
"lastModified": 1734661750,
|
||||
"narHash": "sha256-BI58NBdimxu1lnpOrG9XxBz7Cwqy+qIf99zunWofX5w=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "b5f76c3b09a8194889f5328a480fbea1a9115518",
|
||||
"rev": "7d3d910d5fd575e6e8c5600d83d54e5c47273bfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -583,15 +704,14 @@
|
|||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726524647,
|
||||
"narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=",
|
||||
"lastModified": 1734546875,
|
||||
"narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "e2d404a7ea599a013189aa42947f66cede0645c8",
|
||||
"rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -609,19 +729,19 @@
|
|||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"home-manager": "home-manager_4",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-tmux": "tinted-tmux"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727355527,
|
||||
"narHash": "sha256-qFSPHeImI00fBzGTA94D66HMD+fJDkuz04WHp2Sg8eA=",
|
||||
"lastModified": 1734531336,
|
||||
"narHash": "sha256-BWwJTAiWmZudUdUbyets7e3zQfjvZYtkU51blBnUBjw=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "993fcabd83d1e0ee5ea038b87041593cc73c1ebe",
|
||||
"rev": "a2d66f25478103ac9b4adc6d6713794f7005221e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -663,43 +783,45 @@
|
|||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696725948,
|
||||
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1665001328,
|
||||
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
|
||||
"lastModified": 1716423189,
|
||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696725902,
|
||||
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
|
||||
"lastModified": 1729501581,
|
||||
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
|
||||
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -716,11 +838,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726734507,
|
||||
"narHash": "sha256-VUH5O5AcOSxb0uL/m34dDkxFKP6WLQ6y4I1B4+N3L2w=",
|
||||
"lastModified": 1734704479,
|
||||
"narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "ee41a466c2255a3abe6bc50fc6be927cdee57a9f",
|
||||
"rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
17
flake.nix
17
flake.nix
|
|
@ -1,17 +1,20 @@
|
|||
{
|
||||
description = "A flake using my config";
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
# nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
musnix.url = "github:musnix/musnix";
|
||||
nixpkgs.follows = "nixos-cosmic/nixpkgs";
|
||||
nixpkgs-stable.url = "nixpkgs/nixos-24.05";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager-cosmic.url = "github:tristanbeedell/home-manager/cosmic";
|
||||
hm-cosmic.url = "github:tristanbeedell/hm-cosmic/master";
|
||||
stylix.url = "github:danth/stylix";
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
nixos-cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
|
|
@ -36,9 +39,12 @@
|
|||
./nixos/programs/cosmic.nix
|
||||
./nixos/programs/gamer.nix
|
||||
./nixos/programs/personal.nix
|
||||
./nixos/services/musnix.nix
|
||||
./nixos/workstation.nix
|
||||
./nixos/programs/hyprland.nix
|
||||
];
|
||||
home-modules = [
|
||||
./home/programs/mpd.nix
|
||||
./home/programs/graphical.nix
|
||||
./home/programs/gamer.nix
|
||||
./home/programs/personal/.
|
||||
|
|
@ -48,13 +54,14 @@
|
|||
FCS-Tristan-Nixbook = mkConf {
|
||||
nixos-modules = [
|
||||
./hardware/fcs-tristan-nixbook.nix
|
||||
# (auto-login "Hyprland")
|
||||
# ./nixos/programs/hyprland.nix
|
||||
./nixos/workstation.nix
|
||||
./nixos/modules/work.nix
|
||||
./nixos/programs/cosmic.nix
|
||||
./nixos/programs/libvertd.nix
|
||||
./nixos/programs/hyprland.nix
|
||||
];
|
||||
home-modules = [
|
||||
./home/programs/mpd.nix
|
||||
./home/programs/work.nix
|
||||
./home/programs/graphical.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ in {
|
|||
"minfreespace=50G"
|
||||
"fsname=mergerfs"
|
||||
"category.create=mfs"
|
||||
"cache.files=auto-all"
|
||||
"dropcacheonclose=true"
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
...
|
||||
}: let
|
||||
user = config.user;
|
||||
decrypt = import ../lib/decrypt.nix;
|
||||
in {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
|
|
@ -24,7 +23,7 @@ in {
|
|||
};
|
||||
|
||||
boot.initrd.luks.devices."usbkey" = {
|
||||
device = "/dev/disk/by-id/usb-Generic_Flash_Disk_BCC97785-0:0";
|
||||
device = "/dev/disk/by-label/usbkey1";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."cryptroot" = {
|
||||
|
|
@ -32,7 +31,7 @@ in {
|
|||
keyFileSize = 4096;
|
||||
preOpenCommands = ''
|
||||
mkdir -m 0755 -p /key
|
||||
mount -n -t vfat -o ro /dev/mapper/usbkey /key
|
||||
mount -n -o ro /dev/mapper/usbkey /key
|
||||
'';
|
||||
keyFile = "/key/keyfile";
|
||||
preLVM = false;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
...
|
||||
}: let
|
||||
user = config.user;
|
||||
decrypt = import ../lib/decrypt.nix;
|
||||
in {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
|
|
@ -20,7 +19,7 @@ in {
|
|||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/2dad5ed6-44cc-4d9d-9392-32afaa7b3909";
|
||||
device = "/dev/mapper/cryptroot";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@" "compress=zstd" "autodefrag"];
|
||||
};
|
||||
|
|
@ -32,30 +31,38 @@ in {
|
|||
options = ["noatime"];
|
||||
};
|
||||
|
||||
boot.initrd.postDeviceCommands = pkgs.lib.mkBefore (decrypt {
|
||||
keydevice = "/dev/disk/by-id/usb-Generic_Flash_Disk_BCC97785-0:0";
|
||||
keypartname = "usbkey";
|
||||
});
|
||||
boot.initrd.luks.devices."usbkey" = {
|
||||
device = "/dev/disk/by-label/usbkey1";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."cryptroot" = {
|
||||
device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151";
|
||||
keyFileSize = 4096;
|
||||
preOpenCommands = ''
|
||||
mkdir -m 0755 -p /key
|
||||
mount -n -o ro /dev/mapper/usbkey /key
|
||||
'';
|
||||
keyFile = "/key/keyfile";
|
||||
preLVM = false;
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/2dad5ed6-44cc-4d9d-9392-32afaa7b3909";
|
||||
device = "/dev/mapper/cryptroot";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@home" "compress=zstd" "autodefrag"];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/FE7E-0DE3";
|
||||
device = "/dev/disk/by-label/boot";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [{device = "/dev/disk/by-uuid/da57b489-ab77-4830-b710-9f96cf43d053";}];
|
||||
boot.plymouth.enable = true;
|
||||
boot.initrd.verbose = false;
|
||||
boot.consoleLogLevel = 1;
|
||||
boot.kernelParams = ["quiet" "udev.log_level=3"];
|
||||
|
||||
swapDevices = [{device = "/dev/disk/by-label/swap";}];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
@ -64,7 +71,7 @@ in {
|
|||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
networking.networkmanager.insertNameservers = ["1.1.1.1" "1.0.0.1"];
|
||||
networking.networkmanager.appendNameservers = ["1.1.1.1" "1.0.0.1"];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
|
|
|||
|
|
@ -37,9 +37,7 @@
|
|||
yt-dlp
|
||||
fastfetch
|
||||
tree
|
||||
ansible
|
||||
ytfzf
|
||||
lazygit
|
||||
];
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,23 +1,30 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.lib.cosmic) Actions;
|
||||
inherit (config.lib.cosmic) Actions mapBinds;
|
||||
SpawnTerminal = name: pkg:
|
||||
Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe pkgs.alacritty} -e ${lib.getExe pkg}");
|
||||
in {
|
||||
programs.cosmic = {
|
||||
enable = true;
|
||||
input.asDefaults = true;
|
||||
input.binds = {
|
||||
input.binds = mapBinds {
|
||||
# Navigation
|
||||
Super. "h" = Actions.Focus "Left";
|
||||
Super. "l" = Actions.Focus "Right";
|
||||
Super. "j" = Actions.Focus "Down";
|
||||
Super. "k" = Actions.Focus "Up";
|
||||
Super. "u" = Actions.Focus "Out";
|
||||
Super. "i" = Actions.Focus "In";
|
||||
Super.Shift. "h" = Actions.Move "Left";
|
||||
Super.Shift. "l" = Actions.Move "Right";
|
||||
Super.Shift. "j" = Actions.Move "Down";
|
||||
Super.Shift. "k" = Actions.Move "Up";
|
||||
Super.Shift. "Right" = Actions.MoveToNextWorkspace;
|
||||
Super.Shift. "Left" = Actions.MoveToPreviousWorkspace;
|
||||
Super. "1" = Actions.Workspace 1;
|
||||
Super. "2" = Actions.Workspace 2;
|
||||
Super. "3" = Actions.Workspace 3;
|
||||
|
|
@ -37,13 +44,21 @@ in {
|
|||
# System
|
||||
Super. "d" = Actions.Spawn config.programs.menu.drunCommand;
|
||||
Super. "Return" = Actions.Spawn pkgs.alacritty;
|
||||
Super. "e" = SpawnTerminal "aerc" config.programs.aerc.package;
|
||||
Super. "o" = Actions.System "HomeFolder";
|
||||
Super.Shift. "s" = Actions.System "Screenshot";
|
||||
"XF86AudioRaiseVolume" = Actions.System "VolumeRaise";
|
||||
"XF86AudioLowerVolume" = Actions.System "VolumeLower";
|
||||
"XF86AudioPlay" = Actions.System "PlayPause";
|
||||
"XF86AudioNext" = Actions.System "PlayNext";
|
||||
"XF86AudioPrev" = Actions.System "PlayPrev";
|
||||
"XF86MonBrightnessUp" = Actions.System "BrightnessUp";
|
||||
"XF86MonBrightnessDown" = Actions.System "BrightnessDown";
|
||||
};
|
||||
background = {
|
||||
displays = {
|
||||
all = {
|
||||
source = ../../../images/nier2.jpg;
|
||||
source = lib.mkDefault config.stylix.image;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -53,13 +68,16 @@ in {
|
|||
start = [
|
||||
"com.system76.CosmicAppletWorkspaces"
|
||||
];
|
||||
center = [];
|
||||
center = [
|
||||
"com.system76.CosmicAppletMinimize"
|
||||
];
|
||||
end = [
|
||||
"com.system76.CosmicAppletTime"
|
||||
"com.system76.CosmicAppletTiling"
|
||||
"com.system76.CosmicAppletAudio"
|
||||
"com.system76.CosmicAppletNetwork"
|
||||
"com.system76.CosmicAppletNotifications"
|
||||
"com.system76.CosmicAppletMinimize"
|
||||
"com.system76.CosmicAppletStatusArea"
|
||||
"com.system76.CosmicAppletPower"
|
||||
];
|
||||
};
|
||||
|
|
@ -69,13 +87,15 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"com.system76.CosmicComp".options = {
|
||||
comp.settings = {
|
||||
autotile = true;
|
||||
active_hint = true;
|
||||
focus_follows_cursor = true;
|
||||
focus_follows_cursor_delay = 0;
|
||||
cursor_follows_focus = true;
|
||||
descale_xwayland = true;
|
||||
workspaces = {
|
||||
workspace_layout = "Horizontal";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ in {
|
|||
xdg.portal = {
|
||||
enable = true;
|
||||
configPackages = [pkgs.hyprland];
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr];
|
||||
};
|
||||
|
||||
services.hypridle = {
|
||||
|
|
@ -52,7 +52,7 @@ in {
|
|||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
settings = lib.mkForce {
|
||||
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/
|
||||
general = {
|
||||
hide_cursor = true;
|
||||
|
|
@ -88,8 +88,9 @@ in {
|
|||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
variables = ["--all"];
|
||||
# variables = ["--all"];
|
||||
};
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
input = {
|
||||
touchpad = {
|
||||
|
|
@ -105,7 +106,6 @@ in {
|
|||
};
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
drop_shadow = false;
|
||||
};
|
||||
bezier = [
|
||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||
|
|
@ -277,5 +277,10 @@ in {
|
|||
enable = true;
|
||||
};
|
||||
|
||||
programs.waybar.settings.mainBar.modules-left = ["hyprland/workspaces" "hyprland/window"];
|
||||
programs.waybar = {
|
||||
settings.mainBar.modules-left = ["hyprland/workspaces" "hyprland/window"];
|
||||
systemd.target = "hyprland-session.target";
|
||||
};
|
||||
|
||||
systemd.user.services.hypridle.Install.WantedBy = lib.mkForce ["hyprland-session.target"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,77 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.roles.mpd;
|
||||
terminal = config.programs.terminal;
|
||||
termcmd = "${terminal}/bin/${terminal.pname}";
|
||||
in {
|
||||
options.roles.mpd = {
|
||||
enable = mkEnableOption "setup mpd client";
|
||||
host = mkOption {default = "192.168.1.2";};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
settings.mpd_host = cfg.host;
|
||||
bindings = [
|
||||
{
|
||||
key = "j";
|
||||
command = "scroll_down";
|
||||
}
|
||||
{
|
||||
key = "k";
|
||||
command = "scroll_up";
|
||||
}
|
||||
{
|
||||
key = "l";
|
||||
command = "next_column";
|
||||
}
|
||||
{
|
||||
key = "h";
|
||||
command = "previous_column";
|
||||
}
|
||||
{
|
||||
key = "J";
|
||||
command = ["select_item" "scroll_down"];
|
||||
}
|
||||
{
|
||||
key = "K";
|
||||
command = ["select_item" "scroll_up"];
|
||||
}
|
||||
];
|
||||
};
|
||||
services.mpd-mpris = {
|
||||
enable = true;
|
||||
mpd.host = cfg.host;
|
||||
};
|
||||
programs.waybar.settings.mainBar.mpd.server = cfg.host;
|
||||
programs.scripts = [
|
||||
{
|
||||
name = "ncmpcpp";
|
||||
text = ''
|
||||
${termcmd} -e ${pkgs.ncmpcpp}/bin/ncmpcpp
|
||||
'';
|
||||
hotkeys = [{key = "M";}];
|
||||
install = false;
|
||||
}
|
||||
];
|
||||
systemd.user.services = {
|
||||
snapclient = {
|
||||
Unit = {
|
||||
Description = "Snapclient";
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.snapcast}/bin/snapclient -h ${cfg.host}";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -12,15 +12,10 @@
|
|||
gamescope
|
||||
gamemode
|
||||
mangohud
|
||||
BeatSaberModManager
|
||||
# BeatSaberModManager - out of date: https://github.com/NixOS/nixpkgs/pull/339370
|
||||
protontricks
|
||||
protonup-qt
|
||||
oversteer
|
||||
xboxdrv
|
||||
|
||||
# VR
|
||||
# monado -- build is borked /:
|
||||
openxr-loader
|
||||
opencomposite
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
rerere.enabled = true;
|
||||
rebase.updateRefs = true;
|
||||
};
|
||||
aliases = {
|
||||
ui = "!lazygit";
|
||||
graph = "log --oneline --all --graph";
|
||||
amend = "commit --amend --no-edit";
|
||||
sdiff = "diff --staged";
|
||||
fpush = "push --force-with-lease";
|
||||
t = "tag --annotate";
|
||||
bclone = "!sh ${pkgs.writeShellScriptBin "bare-clone" ''
|
||||
url=$1
|
||||
|
|
@ -33,8 +44,12 @@
|
|||
git fetch origin $opts
|
||||
''}/bin/bare-clone";
|
||||
};
|
||||
delta = {
|
||||
difftastic = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
# system
|
||||
selectdefaultapplication
|
||||
easyeffects
|
||||
pavucontrol
|
||||
pwvucontrol
|
||||
helvum
|
||||
|
||||
# tools
|
||||
|
|
@ -18,21 +18,31 @@
|
|||
gimp
|
||||
libreoffice
|
||||
dbeaver-bin
|
||||
drawio
|
||||
zed-editor
|
||||
|
||||
# entertainment
|
||||
libsForQt5.kasts
|
||||
shortwave
|
||||
freetube
|
||||
youtube-music
|
||||
|
||||
# other
|
||||
element-desktop-wayland
|
||||
(makeDesktopItem {
|
||||
name = "element-desktop-wayland";
|
||||
desktopName = "Element";
|
||||
exec = "${element-desktop-wayland}/bin/element-desktop";
|
||||
})
|
||||
brave
|
||||
bitwarden
|
||||
];
|
||||
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = [pkgs.obs-studio-plugins.wlrobs];
|
||||
plugins = [
|
||||
pkgs.obs-studio-plugins.wlrobs
|
||||
pkgs.obs-studio-plugins.obs-pipewire-audio-capture
|
||||
];
|
||||
};
|
||||
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
|
|
|
|||
70
home/programs/mpd.nix
Normal file
70
home/programs/mpd.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
terminal = config.programs.terminal;
|
||||
termcmd = "${terminal}/bin/${terminal.pname}";
|
||||
host = "alpine";
|
||||
in {
|
||||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
settings.mpd_host = host;
|
||||
bindings = [
|
||||
{
|
||||
key = "j";
|
||||
command = "scroll_down";
|
||||
}
|
||||
{
|
||||
key = "k";
|
||||
command = "scroll_up";
|
||||
}
|
||||
{
|
||||
key = "l";
|
||||
command = "next_column";
|
||||
}
|
||||
{
|
||||
key = "h";
|
||||
command = "previous_column";
|
||||
}
|
||||
{
|
||||
key = "J";
|
||||
command = ["select_item" "scroll_down"];
|
||||
}
|
||||
{
|
||||
key = "K";
|
||||
command = ["select_item" "scroll_up"];
|
||||
}
|
||||
];
|
||||
};
|
||||
services.mpd-mpris = {
|
||||
enable = true;
|
||||
mpd.host = host;
|
||||
};
|
||||
programs.waybar.settings.mainBar.mpd.server = host;
|
||||
programs.scripts = [
|
||||
{
|
||||
name = "ncmpcpp";
|
||||
text = ''
|
||||
${termcmd} -e ${pkgs.ncmpcpp}/bin/ncmpcpp
|
||||
'';
|
||||
hotkeys = [{key = "M";}];
|
||||
install = false;
|
||||
}
|
||||
];
|
||||
systemd.user.services = {
|
||||
snapclient = {
|
||||
Unit = {
|
||||
Description = "Snapclient";
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.snapcast}/bin/snapclient -h ${host}";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
keep-open = true;
|
||||
};
|
||||
bindings = {
|
||||
l = "seek 5";
|
||||
h = "seek -5";
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
} @ input: {
|
||||
programs.nixvim =
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import ../../../lib/nixvim.nix {inherit pkgs;});
|
||||
// (import ../../../lib/nixvim.nix input);
|
||||
|
||||
programs.vscode = {
|
||||
extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
# ./kodi.nix
|
||||
];
|
||||
roles.email = {
|
||||
enable = true;
|
||||
email = "tristan@tristans.cloud";
|
||||
|
|
@ -15,9 +12,6 @@
|
|||
services.nextcloud-client.enable = true;
|
||||
|
||||
programs.nixvim.plugins = {
|
||||
lsp = {
|
||||
servers.gdscript.enable = true;
|
||||
};
|
||||
godot.enable = true;
|
||||
dap = {
|
||||
enable = true;
|
||||
|
|
@ -38,9 +32,7 @@
|
|||
|
||||
home.packages = with pkgs; [
|
||||
godot_4
|
||||
ardour
|
||||
blender
|
||||
musescore
|
||||
monero-gui
|
||||
transmission-remote-gtk
|
||||
krita
|
||||
|
|
|
|||
|
|
@ -274,11 +274,13 @@ in {
|
|||
text = ''
|
||||
res=$(echo "lock
|
||||
sleep
|
||||
hibernate" | ${my-deps.menu})
|
||||
hibernate
|
||||
logout" | ${my-deps.menu})
|
||||
case $res in
|
||||
lock) ${my-deps.lock};;
|
||||
sleep) systemctl suspend;;
|
||||
hibernate) systemctl hibernate;;
|
||||
logout) hyprctl dispatch exit;;
|
||||
esac
|
||||
'';
|
||||
hotkeys = [
|
||||
|
|
|
|||
|
|
@ -15,10 +15,17 @@ in {
|
|||
email = "tristan.beedell@cryoserver.com";
|
||||
terminal = false;
|
||||
};
|
||||
programs.git.extraConfig = {
|
||||
"includeIf \"gitdir:~/Documents/personal/\"" = {
|
||||
path = "~/Documents/personal/.gitconfig";
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.drawio
|
||||
pkgs.thunderbird
|
||||
pkgs.remmina
|
||||
pkgs.postman
|
||||
(import ../../lib/mkapp.nix "slack" {
|
||||
inherit pkgs browser;
|
||||
desktopName = "Slack";
|
||||
|
|
@ -30,7 +37,8 @@ in {
|
|||
desktopName = "Microsoft Teams";
|
||||
})
|
||||
pkgs.devcontainer
|
||||
(pkgs.writeShellScriptBin "devcontainer-open" (let
|
||||
(pkgs.writeShellScriptBin "devcontainer-open" (
|
||||
let
|
||||
jq = "${pkgs.jq}/bin/jq";
|
||||
devcontainer = "${pkgs.devcontainer}/bin/devcontainer";
|
||||
in ''
|
||||
|
|
@ -40,7 +48,8 @@ in {
|
|||
containerId=$(echo $res | ${jq} -r '.containerId')
|
||||
remoteWorkspaceFolder=$(echo $res | ${jq} -r '.remoteWorkspaceFolder')
|
||||
docker exec -it --workdir=$remoteWorkspaceFolder $containerId bash
|
||||
''))
|
||||
''
|
||||
))
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
|
|
|
|||
|
|
@ -1,30 +1,34 @@
|
|||
{
|
||||
pkgs,
|
||||
# config,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
openxr-loader
|
||||
opencomposite
|
||||
];
|
||||
services.monado.enable = true;
|
||||
systemd.user.services.monado.environment = {
|
||||
STEAMVR_LH_ENABLE = "true";
|
||||
XRT_COMPOSITOR_SCALE_PERCENTAGE = "200";
|
||||
};
|
||||
home.file.".config/openxr/1/openxr_monado.json" = {
|
||||
source = "${pkgs.monado}/share/openxr/1/openxr_monado.json";
|
||||
};
|
||||
# home.file.".config/openvr/openvrpaths.vrpath" = {
|
||||
# text = ''
|
||||
# {
|
||||
# "config" :
|
||||
# [
|
||||
# "${config.home.homeDirectory}/.local/share/Steam/config"
|
||||
# ],
|
||||
# "external_drivers" : null,
|
||||
# "jsonid" : "vrpathreg",
|
||||
# "log" :
|
||||
# [
|
||||
# "${config.home.homeDirectory}/.local/share/Steam/logs"
|
||||
# ],
|
||||
# "runtime" :
|
||||
# [
|
||||
# "${pkgs.opencomposite}/lib/opencomposite"
|
||||
# ],
|
||||
# "version" : 1
|
||||
# }
|
||||
# '';
|
||||
# };
|
||||
home.file.".config/openvr/openvrpaths.vrpath" = {
|
||||
text = builtins.toJSON {
|
||||
"config" = [
|
||||
"${config.home.homeDirectory}/.local/share/Steam/config"
|
||||
];
|
||||
"external_drivers" = null;
|
||||
"jsonid" = "vrpathreg";
|
||||
"log" = [
|
||||
"${config.home.homeDirectory}/.local/share/Steam/logs"
|
||||
];
|
||||
"runtime" = [
|
||||
"${pkgs.opencomposite}/lib/opencomposite"
|
||||
];
|
||||
"version" = 1;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
stable-pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
|
|
@ -27,6 +28,8 @@
|
|||
wl-clipboard
|
||||
playerctl
|
||||
quickemu
|
||||
devenv
|
||||
stable-pkgs.logseq
|
||||
];
|
||||
|
||||
services.udiskie = {
|
||||
|
|
@ -36,6 +39,7 @@
|
|||
|
||||
programs.rbw.settings.pinentry = pkgs.pinentry-gnome3;
|
||||
|
||||
# https://docs.pipewire.org/page_module_raop_discover.html
|
||||
xdg.configFile."pipewire/pipewire.conf.d/raop-discover.conf".text = ''
|
||||
context.modules = [
|
||||
{
|
||||
|
|
@ -44,6 +48,30 @@
|
|||
}
|
||||
]
|
||||
'';
|
||||
xdg.configFile."pipewire/pipewire.conf.d/raop-sink.conf".text = ''
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-raop-sink
|
||||
args = {
|
||||
# Set the remote address to tunnel to
|
||||
raop.ip = "127.0.0.1"
|
||||
raop.port = 8190
|
||||
raop.name = "my-raop-device"
|
||||
raop.hostname = "My Service"
|
||||
#raop.transport = "udp"
|
||||
raop.encryption.type = "RSA"
|
||||
#raop.audio.codec = "PCM"
|
||||
#raop.password = "****"
|
||||
#audio.format = "S16"
|
||||
#audio.rate = 44100
|
||||
#audio.channels = 2
|
||||
#audio.position = [ FL FR ]
|
||||
stream.props = {
|
||||
# extra sink properties
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
'';
|
||||
|
||||
services.gnome-keyring.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,15 @@
|
|||
home-modules ? [],
|
||||
}: let
|
||||
inherit (inputs) home-manager nixpkgs sops-nix nixvim;
|
||||
stable-pkgs = import inputs.nixpkgs-stable {
|
||||
inherit system;
|
||||
config.permittedInsecurePackages = [
|
||||
"electron-27.3.11"
|
||||
];
|
||||
};
|
||||
in
|
||||
nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
specialArgs = {inherit inputs stable-pkgs user userFullname;};
|
||||
|
||||
inherit system;
|
||||
|
||||
|
|
@ -24,6 +30,8 @@ in
|
|||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "bak";
|
||||
extraSpecialArgs = {inherit stable-pkgs;};
|
||||
users.${user}.imports =
|
||||
home-modules
|
||||
++ [
|
||||
|
|
|
|||
145
lib/nixvim.nix
145
lib/nixvim.nix
|
|
@ -1,4 +1,19 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
lua = cmd: {__raw = cmd;};
|
||||
luaFunc = cmd:
|
||||
lua ''
|
||||
function ()
|
||||
${cmd}
|
||||
end'';
|
||||
in {
|
||||
colorschemes.base16 = {
|
||||
enable = true;
|
||||
colorscheme = "gruvbox-dark-hard";
|
||||
};
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
};
|
||||
|
|
@ -10,10 +25,10 @@
|
|||
expandtab = true;
|
||||
smartindent = true;
|
||||
scrolloff = 4;
|
||||
smoothscroll = true;
|
||||
|
||||
undofile = true;
|
||||
undodir.__raw = ''vim.fn.expand("$HOME/.local/share/nvim/undo")'';
|
||||
|
||||
undodir = lua ''vim.fn.expand("$HOME/.local/share/nvim/undo")'';
|
||||
list = true;
|
||||
listchars = builtins.concatStringsSep "," [
|
||||
"tab: >"
|
||||
|
|
@ -22,8 +37,13 @@
|
|||
"extends:>"
|
||||
"precedes:<"
|
||||
];
|
||||
|
||||
foldlevel = 2;
|
||||
};
|
||||
extraPlugins = [(pkgs.vimPlugins.actions-preview-nvim)];
|
||||
extraPlugins = [
|
||||
(pkgs.vimPlugins.actions-preview-nvim)
|
||||
(pkgs.vimPlugins.vimwiki)
|
||||
];
|
||||
extraConfigLua = ''
|
||||
require("actions-preview").setup {
|
||||
highlight_command = {
|
||||
|
|
@ -66,6 +86,14 @@
|
|||
key = "<C-S-Tab>";
|
||||
action = "<CMD>tabprev<CR>";
|
||||
}
|
||||
{
|
||||
key = "<leader>bn";
|
||||
action = "<CMD>bnext<CR>";
|
||||
}
|
||||
{
|
||||
key = "<leader>bp";
|
||||
action = "<CMD>bprevious<CR>";
|
||||
}
|
||||
{
|
||||
key = "gl";
|
||||
action = "g$";
|
||||
|
|
@ -153,6 +181,68 @@
|
|||
action = "";
|
||||
options.desc = "Harpoon";
|
||||
}
|
||||
{
|
||||
key = "<F5>";
|
||||
action = luaFunc "require('dap').continue()";
|
||||
options.desc = "DAP continue";
|
||||
}
|
||||
{
|
||||
key = "<leader>dc";
|
||||
action = luaFunc "require('dap').continue()";
|
||||
options.desc = "DAP continue";
|
||||
}
|
||||
{
|
||||
key = "<leader>db";
|
||||
action = luaFunc "require('dap').toggle_breakpoint()";
|
||||
options.desc = "DAP toggle breakpoint";
|
||||
}
|
||||
{
|
||||
key = "<leader>dn";
|
||||
action = luaFunc "require('dap').step_over()";
|
||||
options.desc = "DAP step over";
|
||||
}
|
||||
{
|
||||
key = "<leader>di";
|
||||
action = luaFunc "require('dap').step_into()";
|
||||
options.desc = "DAP step into";
|
||||
}
|
||||
{
|
||||
key = "<leader>do";
|
||||
action = luaFunc "require('dap').step_out()";
|
||||
options.desc = "DAP step out";
|
||||
}
|
||||
{
|
||||
key = "<leader>du";
|
||||
action = luaFunc "require('dapui').toggle()";
|
||||
options.desc = "DAP UI Toggle";
|
||||
}
|
||||
];
|
||||
|
||||
autoCmd = [
|
||||
{
|
||||
event = "BufWritePre";
|
||||
pattern = "*.go";
|
||||
# https://github.com/golang/tools/blob/master/gopls/doc/vim.md#imports-and-formatting
|
||||
callback = luaFunc ''
|
||||
local params = vim.lsp.util.make_range_params()
|
||||
params.context = {only = {"source.organizeImports"}}
|
||||
-- buf_request_sync defaults to a 1000ms timeout. Depending on your
|
||||
-- machine and codebase, you may want longer. Add an additional
|
||||
-- argument after params if you find that you have to write the file
|
||||
-- twice for changes to be saved.
|
||||
-- E.g., vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, 3000)
|
||||
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params)
|
||||
for cid, res in pairs(result or {}) do
|
||||
for _, r in pairs(res.result or {}) do
|
||||
if r.edit then
|
||||
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
|
||||
vim.lsp.util.apply_workspace_edit(r.edit, enc)
|
||||
end
|
||||
end
|
||||
end
|
||||
vim.lsp.buf.format({async = false})
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
plugins = {
|
||||
|
|
@ -186,9 +276,19 @@
|
|||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
ts-ls.enable = true;
|
||||
nil-ls.enable = true;
|
||||
ts_ls.enable = true;
|
||||
nixd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
nixpkgs.expr = ''import <nixpkgs> {}'';
|
||||
options.zenix.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.zenix.options'';
|
||||
options.alpine.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.alpine.options'';
|
||||
formatting.command = [(lib.getExe pkgs.alejandra)];
|
||||
};
|
||||
};
|
||||
yamlls.enable = true;
|
||||
gopls.enable = true;
|
||||
ansiblels.enable = true;
|
||||
};
|
||||
keymaps = {
|
||||
lspBuf = {
|
||||
|
|
@ -200,6 +300,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
dap = {
|
||||
enable = true;
|
||||
extensions.dap-go = {
|
||||
enable = true;
|
||||
# tests.verbose = true; # ???
|
||||
};
|
||||
extensions.dap-ui = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -272,8 +383,28 @@
|
|||
};
|
||||
};
|
||||
|
||||
oil.enable = true;
|
||||
oil = {
|
||||
enable = true;
|
||||
settings = {
|
||||
keymaps = {
|
||||
"<C-r>" = "actions.refresh";
|
||||
"zh" = "actions.toggle_hidden";
|
||||
};
|
||||
view_options.show_hidden = true;
|
||||
};
|
||||
};
|
||||
ts-autotag.enable = true;
|
||||
guess-indent.enable = true;
|
||||
|
||||
codesnap = {
|
||||
enable = true;
|
||||
settings = {
|
||||
has_line_number = true;
|
||||
mac_window_bar = false;
|
||||
save_path = "~/Pictures/Screenshots/";
|
||||
watermark = "";
|
||||
bg_padding = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ in {
|
|||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
experimental-features = ["nix-command" "flakes" "pipe-operators"];
|
||||
};
|
||||
settings.trusted-users = ["root" user];
|
||||
|
||||
|
|
@ -42,12 +42,6 @@ in {
|
|||
}
|
||||
];
|
||||
};
|
||||
networking.hosts = {
|
||||
"100.65.29.110" = ["zenix"];
|
||||
"100.106.241.122" = ["alpine" "tristans.cloud"];
|
||||
"100.71.130.111" = ["fcs-tristan-nixbook"];
|
||||
"100.69.60.83" = ["google-pixel-8"];
|
||||
};
|
||||
|
||||
time.timeZone = lib.mkDefault "Europe/London";
|
||||
|
||||
|
|
@ -56,7 +50,10 @@ in {
|
|||
useXkbConfig = true;
|
||||
};
|
||||
|
||||
services.avahi.enable = true;
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
};
|
||||
|
||||
i18n.defaultLocale = lib.mkDefault "en_GB.UTF-8";
|
||||
|
||||
|
|
@ -93,6 +90,11 @@ in {
|
|||
unzip
|
||||
fzf
|
||||
sops
|
||||
lsof
|
||||
nix-tree
|
||||
nix-index
|
||||
nh
|
||||
jq
|
||||
];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
|
|
|
|||
87
nixos/modules/podman.nix
Normal file
87
nixos/modules/podman.nix
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption types;
|
||||
mkRunCommand = name: {
|
||||
image,
|
||||
command ? "",
|
||||
environment ? {},
|
||||
ports ? [],
|
||||
volumes ? [],
|
||||
envFile ? null,
|
||||
...
|
||||
}: ''
|
||||
${pkgs.podman}/bin/podman run \
|
||||
${toString (builtins.attrValues (builtins.mapAttrs (name: value: "-e ${name}='${value}'") environment))} \
|
||||
${toString (builtins.map (mapping: "-p ${mapping}") ports)} \
|
||||
${toString (builtins.map (mapping: "-v ${mapping}") volumes)} \
|
||||
${
|
||||
if builtins.isNull envFile
|
||||
then ""
|
||||
else "--env-file ${toString envFile}"
|
||||
} \
|
||||
--detach --replace \
|
||||
--name ${name} \
|
||||
${image} ${command}
|
||||
'';
|
||||
opts = {
|
||||
config,
|
||||
name,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
image = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
command = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
};
|
||||
environment = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
};
|
||||
ports = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
volumes = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
envFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
mkService = name: config: {
|
||||
enable = true;
|
||||
wants = ["network-online.target"];
|
||||
after = ["network-online.target"];
|
||||
wantedBy = ["default.target"];
|
||||
unitConfig = {
|
||||
RequiresMountsFor = "/run/containers/storage";
|
||||
};
|
||||
serviceConfig = {
|
||||
Environment = "PODMAN_SYSTEMD_UNIT=%n";
|
||||
Restart = "on-failure";
|
||||
TimeoutStopSec = 70;
|
||||
ExecStart = mkRunCommand name config;
|
||||
ExecStop = "${pkgs.podman}/bin/podman stop -t 10 ${name}";
|
||||
ExecStopPost = "${pkgs.podman}/bin/podman stop -t 10 ${name}";
|
||||
Type = "forking";
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.podman = mkOption {
|
||||
type = types.attrsOf (types.submodule opts);
|
||||
default = {};
|
||||
};
|
||||
config = {
|
||||
systemd.services = lib.mapAttrs mkService config.podman;
|
||||
};
|
||||
}
|
||||
|
|
@ -11,10 +11,13 @@ in {
|
|||
# nonfree vscode required for dev containers
|
||||
"vscode"
|
||||
"steam-run"
|
||||
"postman"
|
||||
"drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623
|
||||
];
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"openssl-1.1.1w" # required for mongodb
|
||||
"electron-27.3.11"
|
||||
];
|
||||
|
||||
networking = {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
services.displayManager.cosmic-greeter.enable = true;
|
||||
services.system76-scheduler.enable = true;
|
||||
home-manager.users.${config.user}.imports = [
|
||||
(import "${inputs.home-manager-cosmic}/modules/programs/cosmic/.")
|
||||
(inputs.hm-cosmic.homeManagerModules.cosmic)
|
||||
../../home/desktop/cosmic/.
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,23 +6,23 @@
|
|||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"steam"
|
||||
"steam-unwrapped"
|
||||
"steam-run"
|
||||
"steam-original"
|
||||
"osu-lazer"
|
||||
];
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
extest.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
args = ["-r" "144" "-O" "DP-1" "--rt"];
|
||||
};
|
||||
};
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
programs.gamemode.enable = true;
|
||||
services.monado.enable = true;
|
||||
systemd.user.services.monado.environment = {
|
||||
STEAMVR_LH_ENABLE = "true";
|
||||
XRT_COMPOSITOR_SCALE_PERCENTAGE = "200";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
14
nixos/programs/kodi.nix
Normal file
14
nixos/programs/kodi.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{pkgs, ...}: {
|
||||
services.xserver.desktopManager.kodi = {
|
||||
enable = true;
|
||||
package =
|
||||
pkgs.kodi.withPackages
|
||||
(exts:
|
||||
with exts; [
|
||||
jellyfin
|
||||
steam-launcher
|
||||
joystick
|
||||
youtube
|
||||
]);
|
||||
};
|
||||
}
|
||||
13
nixos/programs/libvertd.nix
Normal file
13
nixos/programs/libvertd.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{config, ...}: let
|
||||
user = config.user;
|
||||
in {
|
||||
users.users.${user}.extraGroups = ["libvirtd" "kvm"];
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
nss = {
|
||||
enable = true;
|
||||
enableGuest = true;
|
||||
};
|
||||
};
|
||||
programs.virt-manager.enable = true;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{pkgs, ...}: {
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,12 @@
|
|||
inherit (config) sops;
|
||||
inherit (sops) templates placeholder;
|
||||
in {
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"aspnetcore-runtime-6.0.36"
|
||||
"aspnetcore-runtime-wrapped-6.0.36"
|
||||
"dotnet-sdk-6.0.428"
|
||||
"dotnet-sdk-wrapped-6.0.428"
|
||||
];
|
||||
users.groups.media = {};
|
||||
services.jackett = {
|
||||
enable = true;
|
||||
|
|
@ -37,20 +43,21 @@ in {
|
|||
ports = ["9091:9091"];
|
||||
volumes = [
|
||||
"/mnt/storage/downloads:/data"
|
||||
"transmission-config:/config"
|
||||
"/home/tristan/pods/transmission/config:/config"
|
||||
"/mnt/storage/media/unsorted:/data/completed"
|
||||
];
|
||||
environmentFiles = [ templates."transmission/env".path ];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
GUID = "1000";
|
||||
SUBNET = "100.0.0.0/8";
|
||||
LOCAL_NETWORK = "100.0.0.0/8";
|
||||
};
|
||||
privileged = true;
|
||||
capabilities = {
|
||||
"NET_ADMIN" = true;
|
||||
"NET_RAW" = true;
|
||||
"MKNOD" = true;
|
||||
};
|
||||
extraOptions = builtins.map (cap: "--cap-add=${cap}") [
|
||||
"NET_ADMIN"
|
||||
"NET_RAW"
|
||||
"MKNOD"
|
||||
];
|
||||
};
|
||||
sops.secrets = {
|
||||
"transmission/auth/OPENVPN_PROVIDER" = {};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
{config, ...}: {
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
|
||||
{config, ...}:
|
||||
{
|
||||
# TODO: totally borked for some reason. DB migration?
|
||||
services.mautrix-whatsapp = {
|
||||
enable = true;
|
||||
registerToSynapse = true;
|
||||
settings = {
|
||||
appservice.database = {
|
||||
type = "sqlite3";
|
||||
uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db";
|
||||
};
|
||||
homeserver = {
|
||||
address = "http://localhost:8008";
|
||||
domain = "tristans.cloud";
|
||||
|
|
|
|||
24
nixos/services/musnix.nix
Normal file
24
nixos/services/musnix.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ inputs, user, pkgs, lib, ... }: {
|
||||
imports = [inputs.musnix.nixosModules.musnix];
|
||||
users.users.${user}.extraGroups = ["audio"];
|
||||
musnix = {
|
||||
enable = true;
|
||||
rtcqs.enable = true;
|
||||
kernel.realtime = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
ardour
|
||||
musescore
|
||||
muse
|
||||
helm
|
||||
calf
|
||||
qjackctl
|
||||
sfizz
|
||||
tap-plugins
|
||||
x42-plugins
|
||||
x42-gmsynth
|
||||
carla
|
||||
drumgizmo
|
||||
distrho-ports
|
||||
];
|
||||
}
|
||||
|
|
@ -81,17 +81,13 @@ in {
|
|||
maps
|
||||
previewgenerator
|
||||
deck
|
||||
news
|
||||
;
|
||||
oidc_login = pkgs.fetchNextcloudApp {
|
||||
sha256 = "sha256-DrbaKENMz2QJfbDKCMrNGEZYpUEvtcsiqw9WnveaPZA=";
|
||||
url = "https://github.com/pulsejet/nextcloud-oidc-login/releases/download/v3.2.0/oidc_login.tar.gz";
|
||||
license = "agpl3Only";
|
||||
};
|
||||
news = pkgs.fetchNextcloudApp {
|
||||
sha256 = "sha256-jH1F/IZItlZEpsfgXhRojiYD6ZEVhsuRvz8Qs0Z3UFI=";
|
||||
url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha9/news.tar.gz";
|
||||
license = "agpl3Only";
|
||||
};
|
||||
};
|
||||
maxUploadSize = "5G";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -86,12 +86,6 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
services.matrix-sliding-sync = {
|
||||
enable = true;
|
||||
environmentFile = templates."synapse/sliding_sync_env".path;
|
||||
settings.SYNCV3_SERVER = "https://${domain}";
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts = {
|
||||
${domain} = {
|
||||
locations."= /.well-known/matrix/server".extraConfig = mkWellKnown {
|
||||
|
|
@ -99,7 +93,6 @@ in {
|
|||
};
|
||||
locations."= /.well-known/matrix/client".extraConfig = mkWellKnown {
|
||||
"m.homeserver".base_url = "https://${fqdn}";
|
||||
"org.matrix.msc3575.proxy"."url" = "https://${fqdn}";
|
||||
};
|
||||
locations."= /.well-known/matrix/support".extraConfig = mkWellKnown {
|
||||
admins = [
|
||||
|
|
@ -112,14 +105,12 @@ in {
|
|||
};
|
||||
locations."/_matrix".proxyPass = "http://localhost:${toString port}";
|
||||
locations."/_synapse/client".proxyPass = "http://localhost:${toString port}";
|
||||
locations."/_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://${toString matrix-sliding-sync.settings.SYNCV3_BINDADDR}";
|
||||
};
|
||||
${fqdn} = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/_matrix".proxyPass = "http://localhost:${toString port}";
|
||||
locations."/_synapse/client".proxyPass = "http://localhost:${toString port}";
|
||||
locations."/_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://${toString matrix-sliding-sync.settings.SYNCV3_BINDADDR}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,15 +13,10 @@
|
|||
|
||||
hardware.opentabletdriver.enable = true;
|
||||
|
||||
programs.nm-applet.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.dbus = {
|
||||
enable = true;
|
||||
packages = [pkgs.gcr];
|
||||
};
|
||||
programs.light.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
|
|
@ -53,11 +48,12 @@
|
|||
};
|
||||
targets = {
|
||||
gtk.enable = false; # fails to switch with cosmic overriding it (grr)
|
||||
gnome.enable = false;
|
||||
grub = {
|
||||
useImage = true;
|
||||
};
|
||||
nixvim = {
|
||||
transparentBackground.main = true;
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -69,7 +65,7 @@
|
|||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
nerdfonts
|
||||
nerd-fonts.symbols-only
|
||||
interalia
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ mail:
|
|||
ssl: ENC[AES256_GCM,data:swCVBQ==,iv:Us4kZfQ2wIx/qJXDaPDuUNvGU2F+U8EtV21SPbTebe8=,tag:Zuc0y6aTyjQBe4ZV7zy3NA==,type:str]
|
||||
transmission:
|
||||
auth:
|
||||
OPENVPN_PROVIDER: ENC[AES256_GCM,data:uk/rxQ==,iv:WycsUcM9qRW6ExylDK9kCD2PKT9XMijLBJXkYKUmhDI=,tag:AiBA+UVlKfMhpyV3MB9ZBA==,type:str]
|
||||
OPENVPN_PROVIDER: ENC[AES256_GCM,data:cgYUsQ==,iv:KXddHlOwqbn97SmLkdRIDrqiAAihfXNpG64uD80UnKI=,tag:s6tkiawsfOOXV3ZMltL4MQ==,type:str]
|
||||
OPENVPN_CONFIG: ENC[AES256_GCM,data:mHMLA2Rqte+aEGstKCan3fNPEqwb,iv:wvLx3rWNcDVek6bmXBu+39AlnXpviNNwCItLAWWVDzY=,tag:1ArWMperFmOFSCdehWibNg==,type:str]
|
||||
OPENVPN_USERNAME: ENC[AES256_GCM,data:RQ+hGLE6YEgN/aaa2TLpkg==,iv:oG794WxGe0t1ZI0PyC45ZgCPA0Ar2m/dSVDdMYBKJvY=,tag:CGnEu8ds0s4aH4ImCrNWNQ==,type:str]
|
||||
OPENVPN_PASSWORD: ENC[AES256_GCM,data:Jw==,iv:uGAaXFWfpSaeqY7yC9cR9iqblH3E3hudnrnIlOvdRCg=,tag:P1XJ2SBY82z9YZP9J/n5SA==,type:str]
|
||||
|
|
@ -48,8 +48,8 @@ sops:
|
|||
S3ZwcHhkdEEvY0pINDloand5S0NycHcKEpIt5EeIKhLQK7f74sWVN/x5gzh/Jq7x
|
||||
UUN5QtysRbWVGnWRxdNB8LIMjDJY9jRojycdQfSNebaz5ZLjEp8dZQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-01-17T23:54:41Z"
|
||||
mac: ENC[AES256_GCM,data:kX07sYwKyAu2ElYoBIuaVVryIGIUowxS4ZMxIoX9/aDQY9+yVrmaWzj1kmQNyTqoSBZyetDGQzNV3mMjgCpIQ2XjJdCB5lH4M5DOV63A3pwDwDeHSzzTrURY6xubeswl8o+2k+gxD0/oLLB9j+YZxb9F1oKQt2cK1dzOYPdtUL8=,iv:ftaeEg78WejtZM6J8BiahmsSbQub/5Kz/oLVU3nJhtA=,tag:eobu6KIZwltpC43qXpTVaQ==,type:str]
|
||||
lastmodified: "2025-01-18T02:00:29Z"
|
||||
mac: ENC[AES256_GCM,data:x3J0tRfNynM2qlB4YUUAUMYI/94opN1kJ1j0kOyeZ1GZHx+EA4dQZif4nPQOERo+5xRt8C4YXVDZEnCjD1TpQE6LYik0n0iY+84sY5fSr2SYiXzq2P72Tk7BzBklI9/zjndeJLJbydTJDMzOCvdEWIfHYZsHODnKXBO9pYwjAqU=,iv:z+QD93t72S2w0CqMV5sQk9oK9LMnQAxyaiExmqEcSp0=,tag:dbtyHUQ+n2EQvHEkQa7zrw==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.0
|
||||
version: 3.9.2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue