Compare commits
63 commits
nvim-lspco
...
config
Author | SHA1 | Date | |
---|---|---|---|
|
5159c86b68 | ||
|
30cc4f16e5 | ||
|
af53ec73c7 | ||
|
816d8a5762 | ||
|
4c80362d2e | ||
|
d923ee70e9 | ||
|
939488c18f | ||
|
e70127846b | ||
|
64fbf1790e | ||
|
3980e568d7 | ||
|
3f5de69df3 | ||
|
4af8dd317e | ||
|
4258b2d215 | ||
|
04289143f0 | ||
|
fbb59f1345 | ||
|
15e0e96372 | ||
|
6360968d7d | ||
|
ab3a9b739e | ||
|
c13fe4b6df | ||
|
8251871461 | ||
|
e8a6de9434 | ||
|
46bf2b9982 | ||
|
7233055dcc | ||
|
ed875677e8 | ||
|
38b4bd6adb | ||
|
bb616f3315 | ||
|
c3606d6881 | ||
|
a5bddc90af | ||
|
fead989bba | ||
|
f9bb2843ed | ||
|
942ef52349 | ||
|
7e1b6cd0aa | ||
|
ea347ed312 | ||
|
15806203c1 | ||
|
96ac0c628b | ||
|
f3406f1ae9 | ||
|
0db4f6a3e8 | ||
|
379e2be202 | ||
|
77fa076012 | ||
|
3638b3b8d1 | ||
|
aca90f4d7b | ||
|
3fbe1e57a6 | ||
|
87874134fc | ||
|
3a4d27e505 | ||
|
41455b2558 | ||
|
93c596d4d1 | ||
|
bb817e9dec | ||
|
4d1a550da9 | ||
|
ef99fd18f3 | ||
|
2f728dba86 | ||
|
c539d4ce5c | ||
|
5c827d5478 | ||
|
6c16b6fe48 | ||
|
396eef3e3e | ||
|
a09c622d71 | ||
|
b713a53961 | ||
|
4d9aeb70ca | ||
|
4de6ac078d | ||
|
f481387d5c | ||
|
6469740fe3 | ||
|
329b93e7b7 | ||
|
226db222e2 | ||
|
e391a8d310 |
43 changed files with 605 additions and 772 deletions
|
@ -1,5 +0,0 @@
|
|||
status = [ "check" ]
|
||||
|
||||
required_approvals = 1
|
||||
|
||||
up_to_date_approvals = true
|
220
flake.lock
220
flake.lock
|
@ -2,16 +2,17 @@
|
|||
"nodes": {
|
||||
"agenix": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"nixpkgs": [
|
||||
"nixos"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1662046976,
|
||||
"narHash": "sha256-BrTReGRhkVm/Kmmf4zQrL+oYWy0sds/BDBgXNX1CL3c=",
|
||||
"lastModified": 1682101079,
|
||||
"narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "9f136ecfa5bf954538aed3245e4408cf87c85097",
|
||||
"rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -36,17 +37,39 @@
|
|||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"ref": "master",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixos"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1661882940,
|
||||
"narHash": "sha256-4LaVFnV22WrOA0aolqqk9dXrM8crikcrLQt29G18F7M=",
|
||||
"lastModified": 1682009832,
|
||||
"narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "80cec5115aae74accc4ccfb9f84306d7863f0632",
|
||||
"rev": "a1ee4d333b092bc055655fb06229eb3013755812",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -55,7 +78,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin_2": {
|
||||
"darwin_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"digga",
|
||||
|
@ -126,7 +149,7 @@
|
|||
"digga": {
|
||||
"inputs": {
|
||||
"blank": "blank",
|
||||
"darwin": "darwin_2",
|
||||
"darwin": "darwin_3",
|
||||
"deploy": [
|
||||
"deploy"
|
||||
],
|
||||
|
@ -136,9 +159,7 @@
|
|||
"home-manager": [
|
||||
"home"
|
||||
],
|
||||
"latest": [
|
||||
"latest"
|
||||
],
|
||||
"latest": "latest",
|
||||
"nixlib": [
|
||||
"nixos"
|
||||
],
|
||||
|
@ -150,15 +171,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1659622306,
|
||||
"narHash": "sha256-Kpfm2PNs+kZU0W7qcugoPATLG8I2P7FJFGTgsf1LJiU=",
|
||||
"lastModified": 1659623226,
|
||||
"narHash": "sha256-ewEjGFjQf37ymcqBoO8q2SrvfKGgm8nW91NJ+0NQufw=",
|
||||
"owner": "divnix",
|
||||
"repo": "digga",
|
||||
"rev": "d1193743a535d7fbbc7f3eda4e51295b10bd4d2c",
|
||||
"rev": "34877733b78cb9e8a1345328a7e1a380101bee41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "divnix",
|
||||
"ref": "home-manager-22.11",
|
||||
"repo": "digga",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -169,11 +191,11 @@
|
|||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1662101031,
|
||||
"narHash": "sha256-dTlT6J6+Rv6zno/VhJusBwgV7iFNRUdY4GgH7BUPWYk=",
|
||||
"lastModified": 1682749232,
|
||||
"narHash": "sha256-tZdhmgUIuSrRB8j1fTa5JVdewdNf0crNwDMnNIKfYqE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "42e17909b3c69577303fd0c7ae138df3f4888de2",
|
||||
"rev": "30d4a659367f2399cdc9e813c516ae53d46ab266",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -217,11 +239,11 @@
|
|||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1648199409,
|
||||
"narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
|
||||
"lastModified": 1668681692,
|
||||
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
|
||||
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -296,12 +318,15 @@
|
|||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -327,11 +352,11 @@
|
|||
},
|
||||
"flake-utils_5": {
|
||||
"locked": {
|
||||
"lastModified": 1644229661,
|
||||
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -347,16 +372,15 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1656169755,
|
||||
"narHash": "sha256-Nlnm4jeQWEGjYrE6hxi/7HYHjBSZ/E0RtjCYifnNsWk=",
|
||||
"lastModified": 1682759296,
|
||||
"narHash": "sha256-FgBfP1e+TnED0lT3L9G6KJ6j07xQElFMRdLIsmKQ0Ss=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4a3d01fb53f52ac83194081272795aa4612c2381",
|
||||
"rev": "27d89b49e3cd3c83b9609a6ff9173a9b8d2d9ad4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-22.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -379,11 +403,11 @@
|
|||
},
|
||||
"latest": {
|
||||
"locked": {
|
||||
"lastModified": 1662019588,
|
||||
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=",
|
||||
"lastModified": 1657356697,
|
||||
"narHash": "sha256-sT38tcx7m0Quz+Uj6jzx+yRa2+EVW2C3cE0FkROXUzQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2da64a81275b68fdad38af669afeda43d401e94b",
|
||||
"rev": "87e7965bbcdbac3d103e3ed14ff04f719a4f7a58",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -393,6 +417,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"latest_2": {
|
||||
"locked": {
|
||||
"lastModified": 1682764772,
|
||||
"narHash": "sha256-PU1Til56N5L2SNHSbNavjzbDlYs5THfQqVjXtUpZHgM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0c97d307e68209414977ae270db9d9afafde21b6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "master",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -400,11 +440,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1659610603,
|
||||
"narHash": "sha256-LYgASYSPYo7O71WfeUOaEUzYfzuXm8c8eavJcel+pfI=",
|
||||
"lastModified": 1679567394,
|
||||
"narHash": "sha256-ZvLuzPeARDLiQUt6zSZFGOs+HZmE+3g4QURc8mkBsfM=",
|
||||
"owner": "nmattia",
|
||||
"repo": "naersk",
|
||||
"rev": "c6a45e4277fa58abd524681466d3450f896dc094",
|
||||
"rev": "88cd22380154a2c36799fe8098888f0f59861a15",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -413,29 +453,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixgl": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixos"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1676383589,
|
||||
"narHash": "sha256-KCkWZXCjH+C4Kn7fUGSrEl5btk+sERHhZueSsvVbPWc=",
|
||||
"owner": "guibou",
|
||||
"repo": "nixGL",
|
||||
"rev": "c917918ab9ebeee27b0dd657263d3f57ba6bb8ad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "guibou",
|
||||
"repo": "nixGL",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos": {
|
||||
"locked": {
|
||||
"lastModified": 1662025319,
|
||||
"narHash": "sha256-ZJlBQ7jXynq4+Jg9+DgOe8FJG8sDIeFFYP3V3K98KUs=",
|
||||
"lastModified": 1682692304,
|
||||
"narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b82ccafb54163ab9024e893e578d840577785fea",
|
||||
"rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-22.05",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1662092548,
|
||||
"narHash": "sha256-nmAbyJ5+DBXcNJ2Rcy/Gx84maqtLdr6xEe82+AXCaY8=",
|
||||
"lastModified": 1680876084,
|
||||
"narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "786633331724f36967853b98d9100b5cfaa4d798",
|
||||
"rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -446,11 +509,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1662019588,
|
||||
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=",
|
||||
"lastModified": 1682692304,
|
||||
"narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2da64a81275b68fdad38af669afeda43d401e94b",
|
||||
"rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -471,11 +534,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1654975372,
|
||||
"narHash": "sha256-wkNZ16akgKViuZzE/IM+bux4uaJ04KIwUeexH8gBjgw=",
|
||||
"lastModified": 1672979485,
|
||||
"narHash": "sha256-LrY0K1yya3nvRlGDc98wm68ozVj7E6a1EXXEr7eHp8E=",
|
||||
"owner": "berberman",
|
||||
"repo": "nvfetcher",
|
||||
"rev": "d4b237c10f14f72f8266b0f658faad822e491e55",
|
||||
"rev": "0a9ac5fd07b52467d81163b1f8c94c12e5c9aff9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -517,11 +580,11 @@
|
|||
"pycdc": "pycdc"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1645880943,
|
||||
"narHash": "sha256-mNtN0sk6NJILwdzCFgRzZ5xVFmfCkNCryV0HaKWRlQ0=",
|
||||
"lastModified": 1667669150,
|
||||
"narHash": "sha256-woULzWmHqrpfSDCo10QhZOGa6rB+E9ZqL4cjwX6u8TA=",
|
||||
"ref": "refs/heads/mistress",
|
||||
"rev": "8459beb3385a9c4f45d8b4ad58ad90c7a5f503e4",
|
||||
"revCount": 4,
|
||||
"rev": "6ee2339943853341cdc07bc6505df5125a1c45c3",
|
||||
"revCount": 5,
|
||||
"type": "git",
|
||||
"url": "https://im.badat.dev/bad/pwnix.git"
|
||||
},
|
||||
|
@ -533,11 +596,11 @@
|
|||
"pycdc": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1637645353,
|
||||
"narHash": "sha256-iLf0pwmIF13/IS+vzpudT5O54Jj933pBZi0gbiz6Ebc=",
|
||||
"lastModified": 1664922278,
|
||||
"narHash": "sha256-whpsEjk/nnnAUH68kzZBCs7azA13B0FTUy5NuF7kQrA=",
|
||||
"owner": "zrax",
|
||||
"repo": "pycdc",
|
||||
"rev": "99b35a114a6fb84352ca92802c1a26fb8692a7b0",
|
||||
"rev": "44a730f3a889503014fec94ae6e62d8401cb75e5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -549,29 +612,31 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"darwin": "darwin",
|
||||
"darwin": "darwin_2",
|
||||
"deploy": "deploy",
|
||||
"digga": "digga",
|
||||
"fenix": "fenix",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"home": "home",
|
||||
"latest": "latest",
|
||||
"latest": "latest_2",
|
||||
"naersk": "naersk",
|
||||
"nixgl": "nixgl",
|
||||
"nixos": "nixos",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nvfetcher": "nvfetcher",
|
||||
"peerix": "peerix",
|
||||
"pwnix": "pwnix"
|
||||
"pwnix": "pwnix",
|
||||
"stable": "stable"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1662066014,
|
||||
"narHash": "sha256-DE4FsE2sxd9nFtG+8+lnv/IBbtf+6rAlKjIdfpWN488=",
|
||||
"lastModified": 1682710505,
|
||||
"narHash": "sha256-03cthpkTbEdQF7wpmJjPuBvwcQ5eSV4jDfWj8Evg4Lk=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "93c52e41ec0d297c7512adf5936d8c464c820618",
|
||||
"rev": "370b72c7dd3dcdb1efe92224ab1622e44639cb07",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -581,6 +646,37 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stable": {
|
||||
"locked": {
|
||||
"lastModified": 1682669017,
|
||||
"narHash": "sha256-Vi+p4y3wnl0/4gcwTdmCO398kKlDaUrNROtf3GOD2NY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7449971a3ecf857b4a554cf79b1d9dcc1a4647d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
"lastModified": 1637014545,
|
||||
|
|
28
flake.nix
28
flake.nix
|
@ -4,23 +4,23 @@
|
|||
nixConfig.extra-experimental-features = "nix-command flakes";
|
||||
inputs =
|
||||
{
|
||||
nixos.url = "github:nixos/nixpkgs/nixos-22.05";
|
||||
latest.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
stable.url = "github:nixos/nixpkgs/nixos-22.11";
|
||||
nixos.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
latest.url = "github:nixos/nixpkgs/master";
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
digga.url = "github:divnix/digga";
|
||||
digga.url = "github:divnix/digga/home-manager-22.11";
|
||||
digga.inputs.nixpkgs.follows = "nixos";
|
||||
digga.inputs.nixpkgs-unstable.follows = "latest";
|
||||
digga.inputs.latest.follows = "latest";
|
||||
digga.inputs.nixlib.follows = "nixos";
|
||||
digga.inputs.home-manager.follows = "home";
|
||||
digga.inputs.deploy.follows = "deploy";
|
||||
|
||||
home.url = "github:nix-community/home-manager/release-22.05";
|
||||
home.url = "github:nix-community/home-manager";
|
||||
#home.url = "github:nix-community/home-manager/release-22.05";
|
||||
# home.url = "path:/home/mae/home-manager";
|
||||
home.inputs.nixpkgs.follows = "latest";
|
||||
home.inputs.utils.follows = "flake-utils";
|
||||
|
||||
darwin.url = "github:LnL7/nix-darwin";
|
||||
darwin.inputs.nixpkgs.follows = "nixos";
|
||||
|
@ -45,10 +45,13 @@
|
|||
|
||||
nixos-hardware.url = "github:nixos/nixos-hardware";
|
||||
fenix.url = "github:nix-community/fenix";
|
||||
# fenix.inputs.nixpkgs.follows = "nixos";
|
||||
|
||||
pwnix.url = "git+https://im.badat.dev/bad/pwnix.git";
|
||||
pwnix.inputs.nixpkgs.follows = "nixos";
|
||||
|
||||
nixgl.url = "github:guibou/nixGL";
|
||||
nixgl.inputs.nixpkgs.follows = "nixos";
|
||||
nixgl.inputs.flake-utils.follows = "flake-utils";
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
@ -62,6 +65,7 @@
|
|||
, nvfetcher
|
||||
, deploy
|
||||
, peerix
|
||||
, nixgl
|
||||
, ...
|
||||
} @ inputs:
|
||||
digga.lib.mkFlake
|
||||
|
@ -75,12 +79,12 @@
|
|||
imports = [ (digga.lib.importOverlays ./overlays) ];
|
||||
overlays = [
|
||||
# fenix.overlay breaks the cache, because it uses the system nixpkgs
|
||||
(_: super: let pkgs = fenix.inputs.nixpkgs.legacyPackages.${super.system}; in fenix.overlay pkgs pkgs)
|
||||
agenix.overlay
|
||||
nvfetcher.overlay
|
||||
(_: super: let pkgs = fenix.inputs.nixpkgs.legacyPackages.${super.system}; in fenix.overlays.default pkgs pkgs)
|
||||
agenix.overlays.default
|
||||
./pkgs/default.nix
|
||||
|
||||
peerix.overlay
|
||||
nixgl.overlay
|
||||
];
|
||||
};
|
||||
latest = { };
|
||||
|
@ -134,9 +138,7 @@
|
|||
base = [ direnv git ];
|
||||
};
|
||||
};
|
||||
users = {
|
||||
nixos = { suites, ... }: { imports = suites.base; };
|
||||
}; # digga.lib.importers.rakeLeaves ./users/hm;
|
||||
users = digga.lib.rakeLeaves ./users;
|
||||
};
|
||||
|
||||
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
{ profiles, ... }:
|
||||
{
|
||||
# build with: `bud build bootstrap bootstrapIso`
|
||||
# reachable on the local link via ssh root@fe80::47%eno1
|
||||
# where 'eno1' is replaced by your own machine's network
|
||||
# interface that has the local link to the target machine
|
||||
imports = [
|
||||
# profiles.networking
|
||||
profiles.core
|
||||
profiles.users.root # make sure to configure ssh keys
|
||||
profiles.users.nixos
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
# will be overridden by the bootstrapIso instrumentation
|
||||
fileSystems."/" = { device = "/dev/disk/by-label/nixos"; };
|
||||
}
|
54
hosts/stapler.nix
Normal file
54
hosts/stapler.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ suites, pkgs, ... }:
|
||||
{
|
||||
imports = suites.lap;
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
hardware.cpu.intel.updateMicrocode = false;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/4727151b-8c08-4d35-b9e5-36575a4f3d12";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/5303-C8B9";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
boot.kernelParams = [ "intel_pstate=no_hwp" ];
|
||||
fileSystems."/".options = [ "noatime" "nodiratime" "discard" ];
|
||||
|
||||
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
version = 2;
|
||||
device = "nodev";
|
||||
efiSupport = true;
|
||||
enableCryptodisk = true;
|
||||
gfxmodeEfi = "1024x768";
|
||||
};
|
||||
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||
|
||||
boot.initrd.luks.devices = {
|
||||
root = {
|
||||
device = "/dev/disk/by-uuid/e0b1eb49-9bc5-462e-9576-52f59475aad3";
|
||||
};
|
||||
};
|
||||
|
||||
hardware.opengl.extraPackages = with pkgs; [
|
||||
intel-ocl
|
||||
intel-compute-runtime
|
||||
];
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
final: prev: {
|
||||
manix = prev.manix.overrideAttrs (o: rec{
|
||||
inherit (prev.sources.manix) pname version src;
|
||||
});
|
||||
}
|
|
@ -3,35 +3,10 @@ let
|
|||
latest = channels.latest;
|
||||
in
|
||||
{
|
||||
|
||||
__dontExport = true; # overrides clutter up actual creations
|
||||
|
||||
|
||||
inherit (latest)
|
||||
cachix
|
||||
nix-direnv
|
||||
minetest
|
||||
dhall
|
||||
discord
|
||||
element-desktop
|
||||
rage
|
||||
ghidra
|
||||
podman
|
||||
nixpkgs-fmt
|
||||
qutebrowser
|
||||
nvfetcher
|
||||
signal-desktop
|
||||
delve
|
||||
neovim
|
||||
polymc
|
||||
lutris
|
||||
sumneko-lua-language-server
|
||||
cargo-crev
|
||||
cargo-fuzz
|
||||
tdesktop
|
||||
vimPlugins
|
||||
neovim-unwrapped;
|
||||
|
||||
asdf;
|
||||
latest = latest;
|
||||
|
||||
haskellPackages = prev.haskellPackages.override
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
rocm-opencl-runtime
|
||||
amdvlk
|
||||
];
|
||||
hardware.opengl.extraPackages32 = with pkgs; [
|
||||
driversi686Linux.amdvlk
|
||||
];
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ ... }:
|
||||
{
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.hsphfpd.enable = true;
|
||||
services.blueman.enable = true;
|
||||
services.ofono.enable = true;
|
||||
}
|
||||
|
|
|
@ -2,16 +2,44 @@
|
|||
let inherit (lib) fileContents;
|
||||
in
|
||||
{
|
||||
|
||||
# Cachix
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
settings = {
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
trusted-users = [ "root" "@wheel" ];
|
||||
|
||||
system-features = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||||
sandbox = true;
|
||||
|
||||
auto-optimise-store = true;
|
||||
|
||||
};
|
||||
|
||||
registry = {
|
||||
nixpkgs.flake = self.inputs.nixos;
|
||||
latest.flake = self.inputs.latest;
|
||||
stable.flake = self.inputs.stable;
|
||||
pwnix.flake = self.inputs.pwnix;
|
||||
|
||||
};
|
||||
|
||||
# Improve nix store disk usage
|
||||
gc.automatic = true;
|
||||
optimise.automatic = true;
|
||||
|
||||
|
||||
# Generally useful nix option defaults
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
fallback = true
|
||||
'';
|
||||
};
|
||||
|
||||
# For rage encryption, all hosts need a ssh key pair
|
||||
|
@ -20,11 +48,6 @@ in
|
|||
openFirewall = lib.mkDefault false;
|
||||
};
|
||||
|
||||
# This is just a representation of the nix default
|
||||
nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||||
nix.registry.nixpkgs.flake = self.inputs.nixos;
|
||||
nix.registry.latest.flake = self.inputs.latest;
|
||||
nix.registry.pwnix.flake = self.inputs.pwnix;
|
||||
|
||||
# Fix zsh autocompletion with home-manager
|
||||
environment.pathsToLink = [ "/share/zsh" ];
|
||||
|
@ -92,27 +115,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
# Improve nix store disk usage
|
||||
autoOptimiseStore = true;
|
||||
gc.automatic = true;
|
||||
optimise.automatic = true;
|
||||
|
||||
# Prevents impurities in builds
|
||||
useSandbox = true;
|
||||
|
||||
# give root and @wheel special privileges with nix
|
||||
trustedUsers = [ "root" "@wheel" ];
|
||||
|
||||
# Generally useful nix option defaults
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
fallback = true
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
|
|
@ -2,15 +2,13 @@
|
|||
networking = {
|
||||
nameservers = [ "127.0.0.1" "::1" ];
|
||||
resolvconf.useLocalResolver = true;
|
||||
# If using dhcpcd:
|
||||
dhcpcd.extraConfig = "nohook resolv.conf";
|
||||
# If using NetworkManager:
|
||||
networkmanager.dns = "none";
|
||||
# networkmanager.dns = "none";
|
||||
};
|
||||
services.dnscrypt-proxy2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipv6_servers = false;
|
||||
ipv6_servers = true;
|
||||
require_dnssec = true;
|
||||
cloaking_rules = ./cloaking_rules;
|
||||
|
||||
|
@ -19,7 +17,7 @@
|
|||
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
||||
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
||||
];
|
||||
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
||||
cache_file = "/var/lib/dnscrypt-proxy/public-resolvers.md";
|
||||
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
||||
};
|
||||
};
|
||||
|
@ -28,4 +26,8 @@
|
|||
enable = true;
|
||||
bindInterface = false;
|
||||
};
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
};
|
||||
}
|
|
@ -6,9 +6,8 @@
|
|||
steam-run
|
||||
minetest
|
||||
mumble
|
||||
polymc
|
||||
(retroarch.override { cores = [ libretro.snes9x ]; })
|
||||
olympus
|
||||
godot
|
||||
godot_4
|
||||
];
|
||||
}
|
||||
|
|
|
@ -10,33 +10,6 @@
|
|||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
#bluetooth config
|
||||
media-session.config.bluez-monitor.rules = [
|
||||
{
|
||||
# Matches all cards
|
||||
matches = [{ "device.name" = "~bluez_card.*"; }];
|
||||
actions = {
|
||||
"update-props" = {
|
||||
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
|
||||
# mSBC is not expected to work on all headset + adapter combinations.
|
||||
"bluez5.msbc-support" = true;
|
||||
# SBC-XQ is not expected to work on all headset + adapter combinations.
|
||||
"bluez5.sbc-xq-support" = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
# Matches all sources
|
||||
{ "node.name" = "~bluez_input.*"; }
|
||||
# Matches all outputs
|
||||
{ "node.name" = "~bluez_output.*"; }
|
||||
];
|
||||
actions = {
|
||||
"node.pause-on-idle" = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
5
profiles/podman/default.nix
Normal file
5
profiles/podman/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
boot.enableContainers = false;
|
||||
virtualisation.podman.enable = true;
|
||||
virtualisation.podman.defaultNetwork.settings.dns_enabled = true;
|
||||
}
|
|
@ -4,6 +4,5 @@
|
|||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
extraModules = [ pkgs.pulseaudio-modules-bt ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
cargo-watch
|
||||
cargo-fuzz
|
||||
cargo-expand
|
||||
cargo-nextest
|
||||
];
|
||||
environment.variables.RUST_SRC_PATH = "${pkgs.fenix.latest.rust-src}/lib/rustlib/src/rust/library/";
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ ... }: {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
forwardX11 = true;
|
||||
permitRootLogin = "no";
|
||||
settings = {
|
||||
X11Forwarding = true;
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
startWhenNeeded = true;
|
||||
openFirewall = true;
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
};
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.waydroid.enable = true;
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
environment.systemPackages = with pkgs; [ virt-manager ];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
pavucontrol
|
||||
signal-desktop
|
||||
tdesktop
|
||||
telegram-desktop
|
||||
firefox-wayland
|
||||
chromium
|
||||
nomacs
|
||||
|
@ -10,6 +10,7 @@
|
|||
gimp
|
||||
krita
|
||||
inkscape
|
||||
thunderbird
|
||||
syncplay
|
||||
pcmanfm
|
||||
ark
|
||||
|
@ -21,6 +22,5 @@
|
|||
services.gvfs.enable = true;
|
||||
services.udisks2.enable = true;
|
||||
services.devmon.enable = true;
|
||||
virtualisation.waydroid.enable = true;
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ profiles, ... }:
|
||||
with profiles; rec {
|
||||
base = [ users.root core dnscrypt ];
|
||||
workstation = base ++ [ sway develop game profiles.workstation ssh flatpak torrents pwn tor rust virtualization java networkmanager pipewire flatpak peerix tailscale users.mae ];
|
||||
desktop = workstation ++ [ amd three_dee ];
|
||||
base = [ users.root core dns ];
|
||||
workstation = base ++ [ sway develop game profiles.workstation ssh flatpak torrents pwn tor rust virtualization java networkmanager pipewire flatpak tailscale podman users.mae ];
|
||||
desktop = workstation ++ [ amd ];
|
||||
lap = workstation ++ [ laptop bluetooth print ];
|
||||
}
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
users.users.mae = {
|
||||
uid = 1000;
|
||||
|
||||
isNormalUser = true;
|
||||
hashedPassword = "$6$vyS4lqYbl3$OXztJnAC5ZayA4eCBSIRlYtsi9u1HnafsfNL28l4CJh0BISVlSj6D48CA80cshnvYW/EEzfEj7z4zTNFpJAT/.";
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" "podman" "docker" ];
|
||||
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" ];
|
||||
};
|
||||
|
||||
home-manager.users.mae = { pkgs, ... }: {
|
||||
imports = [ ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/podman ../profiles/alacritty ../profiles/tmux ../profiles/mpv ../profiles/sway ];
|
||||
imports = [ ../profiles/core ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/tmux ../profiles/mpv ../profiles/sway ../profiles/podman ];
|
||||
mae.alacritty.enable = true;
|
||||
|
||||
home.sessionVariables = {
|
||||
XDG_DATA_DIRS = "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share";
|
||||
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||
MOZ_ENABLE_WAYLAND = 1;
|
||||
};
|
||||
home.stateVersion = "18.09";
|
||||
|
|
33
users/maekasza/default.nix
Normal file
33
users/maekasza/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [ ../profiles/core ../profiles/direnv ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/tmux ../profiles/mpv ../profiles/sway ];
|
||||
home.stateVersion = "22.11";
|
||||
targets.genericLinux.enable = true;
|
||||
home.packages = [ pkgs.home-manager pkgs.element-desktop pkgs.nixgl.nixGLIntel pkgs.nixgl.nixVulkanIntel ];
|
||||
wayland.windowManager.sway.extraSessionCommands = ''
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
'';
|
||||
mae.alacritty = {
|
||||
enable = true;
|
||||
# libglWrapper = true;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
MOZ_ENABLE_WAYLAND = 1;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
theme = {
|
||||
name = "Arc-Dark";
|
||||
package = pkgs.arc-theme;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
};
|
||||
programs.go = {
|
||||
enable = true;
|
||||
goPath = ".local/go";
|
||||
};
|
||||
}
|
83
users/modules/alacritty/default.nix
Normal file
83
users/modules/alacritty/default.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
cfg = config.mae.alacritty;
|
||||
alacrittyLibGL = pkgs.symlinkJoin {
|
||||
name = "alacritty-nixgl";
|
||||
paths = [
|
||||
(pkgs.writeShellScriptBin
|
||||
"alacritty"
|
||||
''
|
||||
${pkgs.nixgl.nixGLIntel}/bin/nixGLIntel ${pkgs.alacritty}/bin/alacritty "$@"
|
||||
'')
|
||||
pkgs.alacritty
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
options.mae.alacritty = {
|
||||
enable = lib.mkEnableOption "Enable the alacritty terminal";
|
||||
libglWrapper = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = "Wrap alacritty in libgl to make it work on non nixos systems";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
];
|
||||
programs.alacritty = {
|
||||
package = lib.mkIf cfg.libglWrapper alacrittyLibGL;
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
padding = {
|
||||
x = 6;
|
||||
y = 6;
|
||||
};
|
||||
};
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
};
|
||||
size = 12;
|
||||
};
|
||||
colors = {
|
||||
primary = {
|
||||
background = "#161821";
|
||||
foreground = "#d2d4de";
|
||||
};
|
||||
normal = {
|
||||
black = "#161821";
|
||||
red = "#e27878";
|
||||
green = "#b4be82";
|
||||
yellow = "#e2a478";
|
||||
blue = "#84a0c6";
|
||||
magenta = "#a093c7";
|
||||
cyan = "#89b8c2";
|
||||
white = "#c6c8d1";
|
||||
};
|
||||
bright = {
|
||||
black = "#6b7089";
|
||||
red = "#e98989";
|
||||
green = "#c0ca8e";
|
||||
yellow = "#e9b189";
|
||||
blue = "#91acd1";
|
||||
magenta = "#ada0d3";
|
||||
cyan = "#95c4ce";
|
||||
white = "#d2d4de";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
style = "Block";
|
||||
blinking = "On";
|
||||
};
|
||||
live_config_reload = false;
|
||||
mouse = {
|
||||
hide_when_typing = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
20
users/modules/neovim/dart.nix
Normal file
20
users/modules/neovim/dart.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.mae.nvim.dart;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
options.mae.nvim.dart.enable = lib.mkEnableOption "Enable dart support in neovim";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
mae.nvim.lsp.servers.dartls = {
|
||||
enable = true;
|
||||
script = ''
|
||||
{
|
||||
cmd = { "${pkgs.latest.dart}/bin/dart", "language-server" },
|
||||
}
|
||||
'';
|
||||
};
|
||||
programs.neovim.plugins = with pkgs.vimPlugins; [ dart-vim-plugin ];
|
||||
};
|
||||
}
|
|
@ -10,13 +10,18 @@ in
|
|||
./go.nix
|
||||
./rust.nix
|
||||
./nix.nix
|
||||
./python.nix
|
||||
./clangd.nix
|
||||
./elixir.nix
|
||||
./dart.nix
|
||||
./hexeditor.nix
|
||||
];
|
||||
|
||||
options.mae.nvim = {
|
||||
enable = mkEnableOption "enable neovim";
|
||||
};
|
||||
config = {
|
||||
home.sessionVariables.EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||
programs.neovim = mkIf cfg.enable {
|
||||
enable = true;
|
||||
vimdiffAlias = true;
|
||||
|
@ -30,7 +35,6 @@ in
|
|||
config = "colorscheme iceberg";
|
||||
}
|
||||
vim-sleuth
|
||||
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
nodePackages.prettier
|
||||
|
@ -40,6 +44,7 @@ in
|
|||
set termguicolors
|
||||
|
||||
set ic
|
||||
set mouse=
|
||||
set number
|
||||
set autoindent
|
||||
|
||||
|
|
22
users/modules/neovim/elixir.nix
Normal file
22
users/modules/neovim/elixir.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.mae.nvim.elixir;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
options.mae.nvim.elixir.enable = lib.mkEnableOption "Enable elixir support in neovim";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
mae.nvim.lsp.servers.elixirls = {
|
||||
enable = true;
|
||||
script = ''
|
||||
{
|
||||
cmd = { "${pkgs.elixir_ls}/bin/elixir-ls" },
|
||||
}
|
||||
'';
|
||||
};
|
||||
home.packages = with pkgs; [ elixir_1_14 ];
|
||||
home.sessionVariables."ELIXIR_ERL_OPTIONS" = "-kernel shell_history enabled";
|
||||
programs.neovim.plugins = with pkgs.vimPlugins; [ vim-elixir ];
|
||||
};
|
||||
}
|
22
users/modules/neovim/hexeditor.nix
Normal file
22
users/modules/neovim/hexeditor.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.mae.nvim.hexeditor;
|
||||
in
|
||||
{
|
||||
options.mae.nvim.hexeditor.enable = lib.mkEnableOption "Enable hexediting in neovim";
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.neovim.extraConfig = ''
|
||||
augroup Binary
|
||||
au!
|
||||
au BufReadPre *.bin let &bin=1
|
||||
au BufReadPost *.bin if &bin | %!xxd
|
||||
au BufReadPost *.bin set ft=xxd | endif
|
||||
au BufWritePre *.bin if &bin | %!xxd -r
|
||||
au BufWritePre *.bin endif
|
||||
au BufWritePost *.bin if &bin | %!xxd
|
||||
au BufWritePost *.bin set nomod | endif
|
||||
augroup END
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -12,12 +12,16 @@ let
|
|||
};
|
||||
};
|
||||
mkLspLangConfig = name: cfg: ''
|
||||
require'lspconfig'["${name}"].setup(require'coq'.lsp_ensure_capabilities(${cfg.script}))
|
||||
local cfg = ${cfg.script}
|
||||
cfg["capabilities"] = require('cmp_nvim_lsp').default_capabilities()
|
||||
require'lspconfig'["${name}"].setup(cfg)
|
||||
'';
|
||||
mkLspLangConfigs = cfgs: lib.strings.concatStringsSep "\n" ((lib.attrsets.mapAttrsToList mkLspLangConfig cfgs));
|
||||
in
|
||||
{
|
||||
options.mae.nvim.lsp = {
|
||||
|
||||
|
||||
enable = mkEnableOption "Enable lsp support in nvim with nvim-lspconfig and cmp-nvim";
|
||||
servers = mkOption {
|
||||
type = types.attrsOf lspLangConfigType;
|
||||
|
@ -28,13 +32,50 @@ in
|
|||
config = mkIf cfg.lsp.enable {
|
||||
programs.neovim = {
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
nvim-snippy
|
||||
cmp-nvim-lsp
|
||||
cmp-buffer
|
||||
cmp-path
|
||||
cmp-tmux
|
||||
cmp-snippy
|
||||
{
|
||||
plugin = coq_nvim;
|
||||
plugin = nvim-cmp;
|
||||
config = ''
|
||||
vim.g.coq_settings = {
|
||||
xdg = true,
|
||||
auto_start = true
|
||||
}
|
||||
local cmp = require'cmp'
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
-- REQUIRED - you must specify a snippet engine
|
||||
expand = function(args)
|
||||
require('snippy').expand_snippet(args.body)
|
||||
end,
|
||||
},
|
||||
window = {},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'snippy' },
|
||||
{ name = 'path' }
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
{ name= 'tmux' }
|
||||
})
|
||||
})
|
||||
|
||||
-- Set configuration for specific filetype.
|
||||
cmp.setup.filetype('gitcommit', {
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
})
|
||||
})
|
||||
'';
|
||||
type = "lua";
|
||||
}
|
||||
|
|
19
users/modules/neovim/python.nix
Normal file
19
users/modules/neovim/python.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.mae.nvim.python;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
options.mae.nvim.python.enable = lib.mkEnableOption "Enable python language support in neovim";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
mae.nvim.lsp.servers.pyright = {
|
||||
enable = true;
|
||||
script = ''
|
||||
{
|
||||
cmd = { "${pkgs.nodePackages.pyright}/bin/pyright-langserver", "--stdio" },
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,123 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.virtualisation.containers;
|
||||
|
||||
inherit (lib) mkOption types;
|
||||
|
||||
toml = pkgs.formats.toml { };
|
||||
in
|
||||
{
|
||||
options.virtualisation.containers = {
|
||||
|
||||
enable =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
This option enables the common /etc/containers configuration module.
|
||||
'';
|
||||
};
|
||||
|
||||
ociSeccompBpfHook.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the OCI seccomp BPF hook";
|
||||
};
|
||||
|
||||
containersConf.settings = mkOption {
|
||||
type = toml.type;
|
||||
default = { };
|
||||
description = "containers.conf configuration";
|
||||
};
|
||||
|
||||
containersConf.cniPlugins = mkOption {
|
||||
type = types.listOf types.package;
|
||||
defaultText = ''
|
||||
[
|
||||
pkgs.cni-plugins
|
||||
]
|
||||
'';
|
||||
example = lib.literalExample ''
|
||||
[
|
||||
pkgs.cniPlugins.dnsname
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
CNI plugins to install on the system.
|
||||
'';
|
||||
};
|
||||
|
||||
registries = {
|
||||
search = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "docker.io" "quay.io" ];
|
||||
description = ''
|
||||
List of repositories to search.
|
||||
'';
|
||||
};
|
||||
|
||||
insecure = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of insecure repositories.
|
||||
'';
|
||||
};
|
||||
|
||||
block = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of blocked repositories.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
policy = mkOption {
|
||||
default = { };
|
||||
type = types.attrs;
|
||||
example = lib.literalExample ''
|
||||
{
|
||||
default = [ { type = "insecureAcceptAnything"; } ];
|
||||
transports = {
|
||||
docker-daemon = {
|
||||
"" = [ { type = "insecureAcceptAnything"; } ];
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Signature verification policy file.
|
||||
If this option is empty the default policy file from
|
||||
<literal>skopeo</literal> will be used.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ];
|
||||
|
||||
virtualisation.containers.containersConf.settings = {
|
||||
network.cni_plugin_dirs = map (p: "${lib.getBin p}/bin") cfg.containersConf.cniPlugins;
|
||||
engine = {
|
||||
init_path = "${pkgs.catatonit}/bin/catatonit";
|
||||
} // lib.optionalAttrs cfg.ociSeccompBpfHook.enable {
|
||||
hooks_dir = [ config.boot.kernelPackages.oci-seccomp-bpf-hook ];
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."containers/containers.conf".source =
|
||||
toml.generate "containers.conf" cfg.containersConf.settings;
|
||||
|
||||
xdg.configFile."containers/registries.conf".source = toml.generate "registries.conf" {
|
||||
registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries;
|
||||
};
|
||||
|
||||
xdg.configFile."containers/policy.json".source =
|
||||
if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy)
|
||||
else "${pkgs.skopeo.src}/default-policy.json";
|
||||
};
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{ ... }: {
|
||||
imports = [
|
||||
./podman.nix
|
||||
./containers.nix
|
||||
./podman-dnsname.nix
|
||||
];
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
inherit (lib)
|
||||
mkOption
|
||||
mkIf
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.services.podman;
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.podman = {
|
||||
|
||||
defaultNetwork.dnsname.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable DNS resolution in the default podman network.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
virtualisation.containers.containersConf.cniPlugins = mkIf cfg.defaultNetwork.dnsname.enable [ pkgs.dnsname-cni ];
|
||||
services.podman.defaultNetwork.extraPlugins =
|
||||
lib.optional cfg.defaultNetwork.dnsname.enable {
|
||||
type = "dnsname";
|
||||
domainName = "dns.podman";
|
||||
capabilities.aliases = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,183 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.podman;
|
||||
toml = pkgs.formats.toml { };
|
||||
json = pkgs.formats.json { };
|
||||
|
||||
inherit (lib) mkOption types;
|
||||
|
||||
podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; });
|
||||
|
||||
# Provides a fake "docker" binary mapping to podman
|
||||
dockerCompat = pkgs.runCommandNoCC "${podmanPackage.pname}-docker-compat-${podmanPackage.version}"
|
||||
{
|
||||
outputs = [ "out" "man" ];
|
||||
inherit (podmanPackage) meta;
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${podmanPackage}/bin/podman $out/bin/docker
|
||||
|
||||
mkdir -p $man/share/man/man1
|
||||
for f in ${podmanPackage.man}/share/man/man1/*; do
|
||||
basename=$(basename $f | sed s/podman/docker/g)
|
||||
ln -s $f $man/share/man/man1/$basename
|
||||
done
|
||||
'';
|
||||
|
||||
net-conflist = pkgs.runCommand "87-podman-bridge.conflist"
|
||||
{
|
||||
nativeBuildInputs = [ pkgs.jq ];
|
||||
extraPlugins = builtins.toJSON cfg.defaultNetwork.extraPlugins;
|
||||
jqScript = ''
|
||||
. + { "plugins": (.plugins + $extraPlugins) }
|
||||
'';
|
||||
} ''
|
||||
jq <${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist \
|
||||
--argjson extraPlugins "$extraPlugins" \
|
||||
"$jqScript" \
|
||||
>$out
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./podman-dnsname.nix
|
||||
#./podman-network-socket.nix
|
||||
(lib.mkRenamedOptionModule [ "virtualisation" "podman" "libpod" ] [ "virtualisation" "containers" "containersConf" ])
|
||||
];
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.podman.members;
|
||||
};
|
||||
|
||||
options.services.podman = {
|
||||
|
||||
enable =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
This option enables Podman, a daemonless container engine for
|
||||
developing, managing, and running OCI Containers on your Linux System.
|
||||
|
||||
It is a drop-in replacement for the <command>docker</command> command.
|
||||
'';
|
||||
};
|
||||
|
||||
dockerSocket.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Make the Podman socket available in place of the Docker socket, so
|
||||
Docker tools can find the Podman socket.
|
||||
|
||||
Podman implements the Docker API.
|
||||
'';
|
||||
};
|
||||
|
||||
dockerCompat = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Create an alias mapping <command>docker</command> to <command>podman</command>.
|
||||
'';
|
||||
};
|
||||
|
||||
enableNvidia = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable use of NVidia GPUs from within podman containers.
|
||||
'';
|
||||
};
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = with types; listOf package;
|
||||
default = [ ];
|
||||
example = lib.literalExample ''
|
||||
[
|
||||
pkgs.gvisor
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
Extra packages to be installed in the Podman wrapper.
|
||||
'';
|
||||
};
|
||||
|
||||
package = lib.mkOption {
|
||||
type = types.package;
|
||||
default = podmanPackage;
|
||||
internal = true;
|
||||
description = ''
|
||||
The final Podman package (including extra packages).
|
||||
'';
|
||||
};
|
||||
|
||||
defaultNetwork.extraPlugins = lib.mkOption {
|
||||
type = types.listOf json.type;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Extra CNI plugin configurations to add to podman's default network.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
{
|
||||
home.packages = [ cfg.package ]
|
||||
++ lib.optional cfg.dockerCompat dockerCompat;
|
||||
|
||||
xdg.configFile."cni/net.d/87-podman-bridge.conflist".source = net-conflist;
|
||||
|
||||
virtualisation.containers = {
|
||||
enable = true; # Enable common /etc/containers configuration
|
||||
containersConf.settings = lib.optionalAttrs cfg.enableNvidia {
|
||||
engine = {
|
||||
conmon_env_vars = [ "PATH=${lib.makeBinPath [ pkgs.nvidia-podman ]}" ];
|
||||
runtimes.nvidia = [ "${pkgs.nvidia-podman}/bin/nvidia-container-runtime" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user = {
|
||||
|
||||
services.podman = {
|
||||
Unit = {
|
||||
Description = "Podman API Service";
|
||||
Requires = "podman.socket";
|
||||
After = "podman.socket";
|
||||
Documentation = "man:podman-system-service(1)";
|
||||
StartLimitIntervalSec = 0;
|
||||
};
|
||||
Service = {
|
||||
Type = "exec";
|
||||
KillMode = "process";
|
||||
Environment = "LOGGING=\" --log-level=info\"";
|
||||
ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ];
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
sockets.podman = {
|
||||
Unit = {
|
||||
Description = "Podman API Socket";
|
||||
Documentation = "man:podman-system-service(1)";
|
||||
};
|
||||
Socket = {
|
||||
ListenStream = "%t/podman/podman.sock";
|
||||
SocketMode = 0660;
|
||||
};
|
||||
Install.WantedBy = [ "sockets.target" ];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
(lib.mkIf cfg.dockerSocket.enable {
|
||||
home.sessionVariables."DOCKER_HOST" = "unix:///run/user/$UID/podman/podman.sock";
|
||||
})
|
||||
]);
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
padding = {
|
||||
x = 6;
|
||||
y = 6;
|
||||
};
|
||||
};
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
};
|
||||
size = 12;
|
||||
};
|
||||
colors = {
|
||||
primary = {
|
||||
background = "#161821";
|
||||
foreground = "#d2d4de";
|
||||
};
|
||||
normal = {
|
||||
black = "#161821";
|
||||
red = "#e27878";
|
||||
green = "#b4be82";
|
||||
yellow = "#e2a478";
|
||||
blue = "#84a0c6";
|
||||
magenta = "#a093c7";
|
||||
cyan = "#89b8c2";
|
||||
white = "#c6c8d1";
|
||||
};
|
||||
bright = {
|
||||
black = "#6b7089";
|
||||
red = "#e98989";
|
||||
green = "#c0ca8e";
|
||||
yellow = "#e9b189";
|
||||
blue = "#91acd1";
|
||||
magenta = "#ada0d3";
|
||||
cyan = "#95c4ce";
|
||||
white = "#d2d4de";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
style = "Block";
|
||||
blinking = "On";
|
||||
};
|
||||
live_config_reload = false;
|
||||
mouse = {
|
||||
hide_when_typing = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
3
users/profiles/core/default.nix
Normal file
3
users/profiles/core/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
home.sessionPath = [ "$HOME/.local/bin" "$HOME/.cargo/bin/" ];
|
||||
}
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
||||
extraConfig = {
|
||||
init.defaultBranch = "mistress";
|
||||
pull.ff = "only";
|
||||
};
|
||||
userEmail = "badatnames@tutanota.com";
|
||||
userName = "bad";
|
||||
userEmail = "git@badat.dev";
|
||||
userName = "mae";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
rust.enable = true;
|
||||
go.enable = true;
|
||||
clangd.enable = true;
|
||||
#python.enable = true;
|
||||
python.enable = true;
|
||||
elixir.enable = true;
|
||||
dart.enable = true;
|
||||
hexeditor.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,17 @@
|
|||
{ pkgs, ... }:
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
podman_sock = "unix://$XDG_RUNTIME_DIR/podman/podman.sock";
|
||||
podmanCompose = pkgs.runCommand "docker-compose-podman-compat"
|
||||
{
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper '${pkgs.docker-compose}/bin/docker-compose' "$out/bin/podman-compose" \
|
||||
--set-default "DOCKER_HOST" '${podman_sock}' \
|
||||
--set-default DOCKER_BUILDKIT 0
|
||||
'';
|
||||
in
|
||||
{
|
||||
services.podman.enable = true;
|
||||
services.podman.defaultNetwork.dnsname.enable = true;
|
||||
services.podman.dockerSocket.enable = true;
|
||||
home.packages = [ podmanCompose ];
|
||||
home.sessionVariables.DOCKER_HOST = podman_sock;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, ... }@inputs:
|
||||
{ pkgs, lib, config, ... }@inputs:
|
||||
let
|
||||
rofi = pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };
|
||||
scripts = ((import ./scripts.nix) inputs);
|
||||
|
@ -8,7 +8,7 @@ in
|
|||
wayland.windowManager.sway = rec {
|
||||
enable = true;
|
||||
config = {
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
terminal = "alacritty";
|
||||
menu = "${rofi}/bin/rofi -show combi";
|
||||
modifier = "Mod4";
|
||||
output = {
|
||||
|
@ -22,6 +22,7 @@ in
|
|||
accel_profile = "flat";
|
||||
dwt = "disabled";
|
||||
pointer_accel = "0.0";
|
||||
xkb_options = "caps:escape";
|
||||
};
|
||||
};
|
||||
bars = [{
|
||||
|
@ -30,24 +31,20 @@ in
|
|||
}];
|
||||
floating.criteria = [{ title = "Steam - Update News"; }];
|
||||
startup = [
|
||||
# Copied from https://git.sr.ht/~sumner/home-manager-config/tree/master/item/modules/window-manager/wayland.nix#L64
|
||||
# See https://github.com/nix-community/home-manager/issues/2028
|
||||
# Make all the pinentry stuff work
|
||||
# See: https://github.com/NixOS/nixpkgs/issues/119445#issuecomment-820507505
|
||||
# and: https://github.com/NixOS/nixpkgs/issues/57602#issuecomment-820512097
|
||||
{ command = "dbus-update-activation-environment WAYLAND_DISPLAY"; }
|
||||
# Support for old style xembed tray icons, mostly used by wine
|
||||
{ command = "${pkgs.plasma-workspace}/bin/xembedsniproxy"; }
|
||||
];
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"XF86PowerOff" = "exec systemctl hibernate";
|
||||
"XF86PowerOff" = "exec systemctl suspend";
|
||||
};
|
||||
};
|
||||
wrapperFeatures.gtk = true;
|
||||
systemdIntegration = true;
|
||||
extraSessionCommands = ''
|
||||
#export SDL_VIDEODRIVER=wayland
|
||||
# needs qt5.qtwayland in systemPackages
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||
|
||||
export QT_WAYLAND_FORCE_DPI=physical
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
# Fix for some Java AWT applications (e.g. Android Studio),
|
||||
# use this if they aren't displayed properly:
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
|
@ -67,8 +64,9 @@ in
|
|||
exec = pkgs.writeShellScript "riley-gender" ''
|
||||
set -euo pipefail
|
||||
until ping -c1 google.com >/dev/null 2>&1; do :; done
|
||||
gender="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/gender')"
|
||||
pronouns="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/pronouns')"
|
||||
summary="$(${pkgs.curl}/bin/curl 'https://riley.lgbt/api/summary')"
|
||||
pronouns="$(echo $summary | jq -r '.pronouns')"
|
||||
gender="$(echo $summary | jq -r '.gender')"
|
||||
echo -n "Riley: $gender ($pronouns)"
|
||||
'';
|
||||
};
|
||||
|
@ -100,7 +98,7 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
programs.mako = {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 2000;
|
||||
};
|
||||
|
|
|
@ -1,40 +1,23 @@
|
|||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(43, 48, 59, 0.5);
|
||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/*
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
|
||||
window#waybar.termite {
|
||||
background-color: #3F3F3F;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
padding: 0px 10px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
|
@ -59,11 +42,6 @@ window#waybar.chromium {
|
|||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
border-bottom: 3px solid #ffffff;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
|
@ -76,32 +54,26 @@ window#waybar.chromium {
|
|||
#custom-media,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#scratchpad,
|
||||
#custom-riley-gender,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
padding: 5px 10px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tray * {
|
||||
padding: 0 5px;
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
border-bottom: 3px solid #ffffff;
|
||||
}
|
||||
|
||||
#custom-riley-gender {
|
||||
background-color: #7D9EFF;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
@ -158,44 +130,17 @@ label:focus {
|
|||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: #f1c40f;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #90b1b1;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #f0932b;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
#tray * {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
|
@ -210,53 +155,3 @@ label:focus {
|
|||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: #2d3436;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #ecf0f1;
|
||||
color: #2d3436;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #51a37a;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #00b093;
|
||||
color: #740864;
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #97e1ad;
|
||||
color: #000000;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#keyboard-state > label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
ms-vsliveshare.vsliveshare
|
||||
vscodevim.vim
|
||||
];
|
||||
};
|
||||
}
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
${builtins.readFile ./p10k.zsh}
|
||||
'';
|
||||
|
||||
};
|
||||
programs.direnv.enableZshIntegration = true;
|
||||
home.packages = [ pkgs.fzf ];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue