Compare commits
No commits in common. "config" and "nvim-lspconfig" have entirely different histories.
config
...
nvim-lspco
43 changed files with 774 additions and 607 deletions
5
bors.toml
Normal file
5
bors.toml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
status = [ "check" ]
|
||||||
|
|
||||||
|
required_approvals = 1
|
||||||
|
|
||||||
|
up_to_date_approvals = true
|
224
flake.lock
224
flake.lock
|
@ -2,17 +2,16 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"agenix": {
|
"agenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"darwin": "darwin",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixos"
|
"nixos"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682101079,
|
"lastModified": 1662046976,
|
||||||
"narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
|
"narHash": "sha256-BrTReGRhkVm/Kmmf4zQrL+oYWy0sds/BDBgXNX1CL3c=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
|
"rev": "9f136ecfa5bf954538aed3245e4408cf87c85097",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -39,46 +38,24 @@
|
||||||
"darwin": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"agenix",
|
"nixos"
|
||||||
"nixpkgs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673295039,
|
"lastModified": 1661882940,
|
||||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
"narHash": "sha256-4LaVFnV22WrOA0aolqqk9dXrM8crikcrLQt29G18F7M=",
|
||||||
"owner": "lnl7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
"rev": "80cec5115aae74accc4ccfb9f84306d7863f0632",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "lnl7",
|
"owner": "LnL7",
|
||||||
"ref": "master",
|
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"darwin_2": {
|
"darwin_2": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixos"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1682009832,
|
|
||||||
"narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=",
|
|
||||||
"owner": "LnL7",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"rev": "a1ee4d333b092bc055655fb06229eb3013755812",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "LnL7",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"darwin_3": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"digga",
|
"digga",
|
||||||
|
@ -149,7 +126,7 @@
|
||||||
"digga": {
|
"digga": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blank": "blank",
|
"blank": "blank",
|
||||||
"darwin": "darwin_3",
|
"darwin": "darwin_2",
|
||||||
"deploy": [
|
"deploy": [
|
||||||
"deploy"
|
"deploy"
|
||||||
],
|
],
|
||||||
|
@ -159,7 +136,9 @@
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
"home"
|
"home"
|
||||||
],
|
],
|
||||||
"latest": "latest",
|
"latest": [
|
||||||
|
"latest"
|
||||||
|
],
|
||||||
"nixlib": [
|
"nixlib": [
|
||||||
"nixos"
|
"nixos"
|
||||||
],
|
],
|
||||||
|
@ -171,16 +150,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1659623226,
|
"lastModified": 1659622306,
|
||||||
"narHash": "sha256-ewEjGFjQf37ymcqBoO8q2SrvfKGgm8nW91NJ+0NQufw=",
|
"narHash": "sha256-Kpfm2PNs+kZU0W7qcugoPATLG8I2P7FJFGTgsf1LJiU=",
|
||||||
"owner": "divnix",
|
"owner": "divnix",
|
||||||
"repo": "digga",
|
"repo": "digga",
|
||||||
"rev": "34877733b78cb9e8a1345328a7e1a380101bee41",
|
"rev": "d1193743a535d7fbbc7f3eda4e51295b10bd4d2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "divnix",
|
"owner": "divnix",
|
||||||
"ref": "home-manager-22.11",
|
|
||||||
"repo": "digga",
|
"repo": "digga",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -191,11 +169,11 @@
|
||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682749232,
|
"lastModified": 1662101031,
|
||||||
"narHash": "sha256-tZdhmgUIuSrRB8j1fTa5JVdewdNf0crNwDMnNIKfYqE=",
|
"narHash": "sha256-dTlT6J6+Rv6zno/VhJusBwgV7iFNRUdY4GgH7BUPWYk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "30d4a659367f2399cdc9e813c516ae53d46ab266",
|
"rev": "42e17909b3c69577303fd0c7ae138df3f4888de2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -239,11 +217,11 @@
|
||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1668681692,
|
"lastModified": 1648199409,
|
||||||
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
|
"narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
|
"rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -318,15 +296,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681202837,
|
"lastModified": 1659877975,
|
||||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -352,11 +327,11 @@
|
||||||
},
|
},
|
||||||
"flake-utils_5": {
|
"flake-utils_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1667395993,
|
"lastModified": 1644229661,
|
||||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -372,15 +347,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682759296,
|
"lastModified": 1656169755,
|
||||||
"narHash": "sha256-FgBfP1e+TnED0lT3L9G6KJ6j07xQElFMRdLIsmKQ0Ss=",
|
"narHash": "sha256-Nlnm4jeQWEGjYrE6hxi/7HYHjBSZ/E0RtjCYifnNsWk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "27d89b49e3cd3c83b9609a6ff9173a9b8d2d9ad4",
|
"rev": "4a3d01fb53f52ac83194081272795aa4612c2381",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-22.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -403,11 +379,11 @@
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1657356697,
|
"lastModified": 1662019588,
|
||||||
"narHash": "sha256-sT38tcx7m0Quz+Uj6jzx+yRa2+EVW2C3cE0FkROXUzQ=",
|
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "87e7965bbcdbac3d103e3ed14ff04f719a4f7a58",
|
"rev": "2da64a81275b68fdad38af669afeda43d401e94b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -417,22 +393,6 @@
|
||||||
"type": "github"
|
"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": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -440,11 +400,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679567394,
|
"lastModified": 1659610603,
|
||||||
"narHash": "sha256-ZvLuzPeARDLiQUt6zSZFGOs+HZmE+3g4QURc8mkBsfM=",
|
"narHash": "sha256-LYgASYSPYo7O71WfeUOaEUzYfzuXm8c8eavJcel+pfI=",
|
||||||
"owner": "nmattia",
|
"owner": "nmattia",
|
||||||
"repo": "naersk",
|
"repo": "naersk",
|
||||||
"rev": "88cd22380154a2c36799fe8098888f0f59861a15",
|
"rev": "c6a45e4277fa58abd524681466d3450f896dc094",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -453,52 +413,29 @@
|
||||||
"type": "github"
|
"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": {
|
"nixos": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682692304,
|
"lastModified": 1662025319,
|
||||||
"narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=",
|
"narHash": "sha256-ZJlBQ7jXynq4+Jg9+DgOe8FJG8sDIeFFYP3V3K98KUs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37",
|
"rev": "b82ccafb54163ab9024e893e578d840577785fea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-22.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680876084,
|
"lastModified": 1662092548,
|
||||||
"narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
|
"narHash": "sha256-nmAbyJ5+DBXcNJ2Rcy/Gx84maqtLdr6xEe82+AXCaY8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
|
"rev": "786633331724f36967853b98d9100b5cfaa4d798",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -509,11 +446,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682692304,
|
"lastModified": 1662019588,
|
||||||
"narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=",
|
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37",
|
"rev": "2da64a81275b68fdad38af669afeda43d401e94b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -534,11 +471,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1672979485,
|
"lastModified": 1654975372,
|
||||||
"narHash": "sha256-LrY0K1yya3nvRlGDc98wm68ozVj7E6a1EXXEr7eHp8E=",
|
"narHash": "sha256-wkNZ16akgKViuZzE/IM+bux4uaJ04KIwUeexH8gBjgw=",
|
||||||
"owner": "berberman",
|
"owner": "berberman",
|
||||||
"repo": "nvfetcher",
|
"repo": "nvfetcher",
|
||||||
"rev": "0a9ac5fd07b52467d81163b1f8c94c12e5c9aff9",
|
"rev": "d4b237c10f14f72f8266b0f658faad822e491e55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -580,11 +517,11 @@
|
||||||
"pycdc": "pycdc"
|
"pycdc": "pycdc"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1667669150,
|
"lastModified": 1645880943,
|
||||||
"narHash": "sha256-woULzWmHqrpfSDCo10QhZOGa6rB+E9ZqL4cjwX6u8TA=",
|
"narHash": "sha256-mNtN0sk6NJILwdzCFgRzZ5xVFmfCkNCryV0HaKWRlQ0=",
|
||||||
"ref": "refs/heads/mistress",
|
"ref": "refs/heads/mistress",
|
||||||
"rev": "6ee2339943853341cdc07bc6505df5125a1c45c3",
|
"rev": "8459beb3385a9c4f45d8b4ad58ad90c7a5f503e4",
|
||||||
"revCount": 5,
|
"revCount": 4,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://im.badat.dev/bad/pwnix.git"
|
"url": "https://im.badat.dev/bad/pwnix.git"
|
||||||
},
|
},
|
||||||
|
@ -596,11 +533,11 @@
|
||||||
"pycdc": {
|
"pycdc": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1664922278,
|
"lastModified": 1637645353,
|
||||||
"narHash": "sha256-whpsEjk/nnnAUH68kzZBCs7azA13B0FTUy5NuF7kQrA=",
|
"narHash": "sha256-iLf0pwmIF13/IS+vzpudT5O54Jj933pBZi0gbiz6Ebc=",
|
||||||
"owner": "zrax",
|
"owner": "zrax",
|
||||||
"repo": "pycdc",
|
"repo": "pycdc",
|
||||||
"rev": "44a730f3a889503014fec94ae6e62d8401cb75e5",
|
"rev": "99b35a114a6fb84352ca92802c1a26fb8692a7b0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -612,31 +549,29 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"darwin": "darwin_2",
|
"darwin": "darwin",
|
||||||
"deploy": "deploy",
|
"deploy": "deploy",
|
||||||
"digga": "digga",
|
"digga": "digga",
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"home": "home",
|
"home": "home",
|
||||||
"latest": "latest_2",
|
"latest": "latest",
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixgl": "nixgl",
|
|
||||||
"nixos": "nixos",
|
"nixos": "nixos",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nvfetcher": "nvfetcher",
|
"nvfetcher": "nvfetcher",
|
||||||
"peerix": "peerix",
|
"peerix": "peerix",
|
||||||
"pwnix": "pwnix",
|
"pwnix": "pwnix"
|
||||||
"stable": "stable"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682710505,
|
"lastModified": 1662066014,
|
||||||
"narHash": "sha256-03cthpkTbEdQF7wpmJjPuBvwcQ5eSV4jDfWj8Evg4Lk=",
|
"narHash": "sha256-DE4FsE2sxd9nFtG+8+lnv/IBbtf+6rAlKjIdfpWN488=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "370b72c7dd3dcdb1efe92224ab1622e44639cb07",
|
"rev": "93c52e41ec0d297c7512adf5936d8c464c820618",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -646,37 +581,6 @@
|
||||||
"type": "github"
|
"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": {
|
"utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1637014545,
|
"lastModified": 1637014545,
|
||||||
|
|
28
flake.nix
28
flake.nix
|
@ -4,23 +4,23 @@
|
||||||
nixConfig.extra-experimental-features = "nix-command flakes";
|
nixConfig.extra-experimental-features = "nix-command flakes";
|
||||||
inputs =
|
inputs =
|
||||||
{
|
{
|
||||||
stable.url = "github:nixos/nixpkgs/nixos-22.11";
|
nixos.url = "github:nixos/nixpkgs/nixos-22.05";
|
||||||
nixos.url = "github:nixos/nixpkgs/nixos-unstable";
|
latest.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
latest.url = "github:nixos/nixpkgs/master";
|
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
digga.url = "github:divnix/digga/home-manager-22.11";
|
digga.url = "github:divnix/digga";
|
||||||
digga.inputs.nixpkgs.follows = "nixos";
|
digga.inputs.nixpkgs.follows = "nixos";
|
||||||
digga.inputs.nixpkgs-unstable.follows = "latest";
|
digga.inputs.nixpkgs-unstable.follows = "latest";
|
||||||
|
digga.inputs.latest.follows = "latest";
|
||||||
digga.inputs.nixlib.follows = "nixos";
|
digga.inputs.nixlib.follows = "nixos";
|
||||||
digga.inputs.home-manager.follows = "home";
|
digga.inputs.home-manager.follows = "home";
|
||||||
digga.inputs.deploy.follows = "deploy";
|
digga.inputs.deploy.follows = "deploy";
|
||||||
|
|
||||||
home.url = "github:nix-community/home-manager";
|
home.url = "github:nix-community/home-manager/release-22.05";
|
||||||
#home.url = "github:nix-community/home-manager/release-22.05";
|
|
||||||
# home.url = "path:/home/mae/home-manager";
|
# home.url = "path:/home/mae/home-manager";
|
||||||
home.inputs.nixpkgs.follows = "latest";
|
home.inputs.nixpkgs.follows = "latest";
|
||||||
|
home.inputs.utils.follows = "flake-utils";
|
||||||
|
|
||||||
darwin.url = "github:LnL7/nix-darwin";
|
darwin.url = "github:LnL7/nix-darwin";
|
||||||
darwin.inputs.nixpkgs.follows = "nixos";
|
darwin.inputs.nixpkgs.follows = "nixos";
|
||||||
|
@ -45,13 +45,10 @@
|
||||||
|
|
||||||
nixos-hardware.url = "github:nixos/nixos-hardware";
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
||||||
fenix.url = "github:nix-community/fenix";
|
fenix.url = "github:nix-community/fenix";
|
||||||
|
# fenix.inputs.nixpkgs.follows = "nixos";
|
||||||
|
|
||||||
pwnix.url = "git+https://im.badat.dev/bad/pwnix.git";
|
pwnix.url = "git+https://im.badat.dev/bad/pwnix.git";
|
||||||
pwnix.inputs.nixpkgs.follows = "nixos";
|
pwnix.inputs.nixpkgs.follows = "nixos";
|
||||||
|
|
||||||
nixgl.url = "github:guibou/nixGL";
|
|
||||||
nixgl.inputs.nixpkgs.follows = "nixos";
|
|
||||||
nixgl.inputs.flake-utils.follows = "flake-utils";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -65,7 +62,6 @@
|
||||||
, nvfetcher
|
, nvfetcher
|
||||||
, deploy
|
, deploy
|
||||||
, peerix
|
, peerix
|
||||||
, nixgl
|
|
||||||
, ...
|
, ...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
digga.lib.mkFlake
|
digga.lib.mkFlake
|
||||||
|
@ -79,12 +75,12 @@
|
||||||
imports = [ (digga.lib.importOverlays ./overlays) ];
|
imports = [ (digga.lib.importOverlays ./overlays) ];
|
||||||
overlays = [
|
overlays = [
|
||||||
# fenix.overlay breaks the cache, because it uses the system nixpkgs
|
# fenix.overlay breaks the cache, because it uses the system nixpkgs
|
||||||
(_: super: let pkgs = fenix.inputs.nixpkgs.legacyPackages.${super.system}; in fenix.overlays.default pkgs pkgs)
|
(_: super: let pkgs = fenix.inputs.nixpkgs.legacyPackages.${super.system}; in fenix.overlay pkgs pkgs)
|
||||||
agenix.overlays.default
|
agenix.overlay
|
||||||
|
nvfetcher.overlay
|
||||||
./pkgs/default.nix
|
./pkgs/default.nix
|
||||||
|
|
||||||
peerix.overlay
|
peerix.overlay
|
||||||
nixgl.overlay
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
latest = { };
|
latest = { };
|
||||||
|
@ -138,7 +134,9 @@
|
||||||
base = [ direnv git ];
|
base = [ direnv git ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users = digga.lib.rakeLeaves ./users;
|
users = {
|
||||||
|
nixos = { suites, ... }: { imports = suites.base; };
|
||||||
|
}; # digga.lib.importers.rakeLeaves ./users/hm;
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
|
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
|
||||||
|
|
18
hosts/bootstrap.nix
Normal file
18
hosts/bootstrap.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ 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"; };
|
||||||
|
}
|
|
@ -1,54 +0,0 @@
|
||||||
{ 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;
|
|
||||||
}
|
|
5
overlays/manix.nix
Normal file
5
overlays/manix.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
final: prev: {
|
||||||
|
manix = prev.manix.overrideAttrs (o: rec{
|
||||||
|
inherit (prev.sources.manix) pname version src;
|
||||||
|
});
|
||||||
|
}
|
|
@ -3,10 +3,35 @@ let
|
||||||
latest = channels.latest;
|
latest = channels.latest;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
__dontExport = true; # overrides clutter up actual creations
|
__dontExport = true; # overrides clutter up actual creations
|
||||||
|
|
||||||
|
|
||||||
inherit (latest)
|
inherit (latest)
|
||||||
asdf;
|
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;
|
||||||
|
|
||||||
latest = latest;
|
latest = latest;
|
||||||
|
|
||||||
haskellPackages = prev.haskellPackages.override
|
haskellPackages = prev.haskellPackages.override
|
||||||
|
|
|
@ -8,10 +8,6 @@
|
||||||
rocm-opencl-runtime
|
rocm-opencl-runtime
|
||||||
amdvlk
|
amdvlk
|
||||||
];
|
];
|
||||||
hardware.opengl.extraPackages32 = with pkgs; [
|
|
||||||
driversi686Linux.amdvlk
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.hsphfpd.enable = true;
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
services.ofono.enable = true;
|
services.ofono.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,44 +2,16 @@
|
||||||
let inherit (lib) fileContents;
|
let inherit (lib) fileContents;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
# Cachix
|
# Cachix
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
binaryCaches = [
|
||||||
substituters = [
|
|
||||||
"https://cache.nixos.org/"
|
"https://cache.nixos.org/"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
binaryCachePublicKeys = [
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"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
|
# For rage encryption, all hosts need a ssh key pair
|
||||||
|
@ -48,6 +20,11 @@ in
|
||||||
openFirewall = lib.mkDefault false;
|
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
|
# Fix zsh autocompletion with home-manager
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
@ -115,6 +92,27 @@ 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";
|
time.timeZone = "Europe/Warsaw";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
networking = {
|
networking = {
|
||||||
nameservers = [ "127.0.0.1" "::1" ];
|
nameservers = [ "127.0.0.1" "::1" ];
|
||||||
resolvconf.useLocalResolver = true;
|
resolvconf.useLocalResolver = true;
|
||||||
|
# If using dhcpcd:
|
||||||
|
dhcpcd.extraConfig = "nohook resolv.conf";
|
||||||
# If using NetworkManager:
|
# If using NetworkManager:
|
||||||
# networkmanager.dns = "none";
|
networkmanager.dns = "none";
|
||||||
};
|
};
|
||||||
services.dnscrypt-proxy2 = {
|
services.dnscrypt-proxy2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
ipv6_servers = true;
|
ipv6_servers = false;
|
||||||
require_dnssec = true;
|
require_dnssec = true;
|
||||||
cloaking_rules = ./cloaking_rules;
|
cloaking_rules = ./cloaking_rules;
|
||||||
|
|
||||||
|
@ -17,7 +19,7 @@
|
||||||
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
||||||
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
||||||
];
|
];
|
||||||
cache_file = "/var/lib/dnscrypt-proxy/public-resolvers.md";
|
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
||||||
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -26,8 +28,4 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
bindInterface = false;
|
bindInterface = false;
|
||||||
};
|
};
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
|
@ -6,8 +6,9 @@
|
||||||
steam-run
|
steam-run
|
||||||
minetest
|
minetest
|
||||||
mumble
|
mumble
|
||||||
|
polymc
|
||||||
(retroarch.override { cores = [ libretro.snes9x ]; })
|
(retroarch.override { cores = [ libretro.snes9x ]; })
|
||||||
olympus
|
olympus
|
||||||
godot_4
|
godot
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,33 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
# If you want to use JACK applications, uncomment this
|
# If you want to use JACK applications, uncomment this
|
||||||
#jack.enable = true;
|
#jack.enable = true;
|
||||||
wireplumber.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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
boot.enableContainers = false;
|
|
||||||
virtualisation.podman.enable = true;
|
|
||||||
virtualisation.podman.defaultNetwork.settings.dns_enabled = true;
|
|
||||||
}
|
|
|
@ -4,5 +4,6 @@
|
||||||
hardware.pulseaudio = {
|
hardware.pulseaudio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.pulseaudioFull;
|
package = pkgs.pulseaudioFull;
|
||||||
|
extraModules = [ pkgs.pulseaudio-modules-bt ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
cargo-watch
|
cargo-watch
|
||||||
cargo-fuzz
|
cargo-fuzz
|
||||||
cargo-expand
|
cargo-expand
|
||||||
cargo-nextest
|
|
||||||
];
|
];
|
||||||
environment.variables.RUST_SRC_PATH = "${pkgs.fenix.latest.rust-src}/lib/rustlib/src/rust/library/";
|
environment.variables.RUST_SRC_PATH = "${pkgs.fenix.latest.rust-src}/lib/rustlib/src/rust/library/";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
forwardX11 = true;
|
||||||
X11Forwarding = true;
|
permitRootLogin = "no";
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
};
|
|
||||||
startWhenNeeded = true;
|
startWhenNeeded = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
passwordAuthentication = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
virtualisation.waydroid.enable = true;
|
|
||||||
virtualisation.spiceUSBRedirection.enable = true;
|
virtualisation.spiceUSBRedirection.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
environment.systemPackages = with pkgs; [ virt-manager ];
|
environment.systemPackages = with pkgs; [ virt-manager ];
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
pavucontrol
|
pavucontrol
|
||||||
signal-desktop
|
signal-desktop
|
||||||
telegram-desktop
|
tdesktop
|
||||||
firefox-wayland
|
firefox-wayland
|
||||||
chromium
|
chromium
|
||||||
nomacs
|
nomacs
|
||||||
|
@ -10,7 +10,6 @@
|
||||||
gimp
|
gimp
|
||||||
krita
|
krita
|
||||||
inkscape
|
inkscape
|
||||||
thunderbird
|
|
||||||
syncplay
|
syncplay
|
||||||
pcmanfm
|
pcmanfm
|
||||||
ark
|
ark
|
||||||
|
@ -22,5 +21,6 @@
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.devmon.enable = true;
|
services.devmon.enable = true;
|
||||||
|
virtualisation.waydroid.enable = true;
|
||||||
boot.supportedFilesystems = [ "ntfs" ];
|
boot.supportedFilesystems = [ "ntfs" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ profiles, ... }:
|
{ profiles, ... }:
|
||||||
with profiles; rec {
|
with profiles; rec {
|
||||||
base = [ users.root core dns ];
|
base = [ users.root core dnscrypt ];
|
||||||
workstation = base ++ [ sway develop game profiles.workstation ssh flatpak torrents pwn tor rust virtualization java networkmanager pipewire flatpak tailscale podman users.mae ];
|
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 ];
|
desktop = workstation ++ [ amd three_dee ];
|
||||||
lap = workstation ++ [ laptop bluetooth print ];
|
lap = workstation ++ [ laptop bluetooth print ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,19 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.zsh.enable = true;
|
|
||||||
users.users.mae = {
|
users.users.mae = {
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
hashedPassword = "$6$vyS4lqYbl3$OXztJnAC5ZayA4eCBSIRlYtsi9u1HnafsfNL28l4CJh0BISVlSj6D48CA80cshnvYW/EEzfEj7z4zTNFpJAT/.";
|
hashedPassword = "$6$vyS4lqYbl3$OXztJnAC5ZayA4eCBSIRlYtsi9u1HnafsfNL28l4CJh0BISVlSj6D48CA80cshnvYW/EEzfEj7z4zTNFpJAT/.";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" ];
|
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" "podman" "docker" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.mae = { pkgs, ... }: {
|
home-manager.users.mae = { pkgs, ... }: {
|
||||||
imports = [ ../profiles/core ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/tmux ../profiles/mpv ../profiles/sway ../profiles/podman ];
|
imports = [ ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/podman ../profiles/alacritty ../profiles/tmux ../profiles/mpv ../profiles/sway ];
|
||||||
mae.alacritty.enable = true;
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
XDG_DATA_DIRS = "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share";
|
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;
|
MOZ_ENABLE_WAYLAND = 1;
|
||||||
};
|
};
|
||||||
home.stateVersion = "18.09";
|
home.stateVersion = "18.09";
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ 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";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
{ 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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ 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,18 +10,13 @@ in
|
||||||
./go.nix
|
./go.nix
|
||||||
./rust.nix
|
./rust.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./python.nix
|
|
||||||
./clangd.nix
|
./clangd.nix
|
||||||
./elixir.nix
|
|
||||||
./dart.nix
|
|
||||||
./hexeditor.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.mae.nvim = {
|
options.mae.nvim = {
|
||||||
enable = mkEnableOption "enable neovim";
|
enable = mkEnableOption "enable neovim";
|
||||||
};
|
};
|
||||||
config = {
|
config = {
|
||||||
home.sessionVariables.EDITOR = "${pkgs.neovim}/bin/nvim";
|
|
||||||
programs.neovim = mkIf cfg.enable {
|
programs.neovim = mkIf cfg.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
|
@ -35,6 +30,7 @@ in
|
||||||
config = "colorscheme iceberg";
|
config = "colorscheme iceberg";
|
||||||
}
|
}
|
||||||
vim-sleuth
|
vim-sleuth
|
||||||
|
|
||||||
];
|
];
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
nodePackages.prettier
|
nodePackages.prettier
|
||||||
|
@ -44,7 +40,6 @@ in
|
||||||
set termguicolors
|
set termguicolors
|
||||||
|
|
||||||
set ic
|
set ic
|
||||||
set mouse=
|
|
||||||
set number
|
set number
|
||||||
set autoindent
|
set autoindent
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ 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 ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ 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,16 +12,12 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mkLspLangConfig = name: cfg: ''
|
mkLspLangConfig = name: cfg: ''
|
||||||
local cfg = ${cfg.script}
|
require'lspconfig'["${name}"].setup(require'coq'.lsp_ensure_capabilities(${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));
|
mkLspLangConfigs = cfgs: lib.strings.concatStringsSep "\n" ((lib.attrsets.mapAttrsToList mkLspLangConfig cfgs));
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.mae.nvim.lsp = {
|
options.mae.nvim.lsp = {
|
||||||
|
|
||||||
|
|
||||||
enable = mkEnableOption "Enable lsp support in nvim with nvim-lspconfig and cmp-nvim";
|
enable = mkEnableOption "Enable lsp support in nvim with nvim-lspconfig and cmp-nvim";
|
||||||
servers = mkOption {
|
servers = mkOption {
|
||||||
type = types.attrsOf lspLangConfigType;
|
type = types.attrsOf lspLangConfigType;
|
||||||
|
@ -32,50 +28,13 @@ in
|
||||||
config = mkIf cfg.lsp.enable {
|
config = mkIf cfg.lsp.enable {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
nvim-snippy
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-buffer
|
|
||||||
cmp-path
|
|
||||||
cmp-tmux
|
|
||||||
cmp-snippy
|
|
||||||
{
|
{
|
||||||
plugin = nvim-cmp;
|
plugin = coq_nvim;
|
||||||
config = ''
|
config = ''
|
||||||
local cmp = require'cmp'
|
vim.g.coq_settings = {
|
||||||
|
xdg = true,
|
||||||
cmp.setup({
|
auto_start = true
|
||||||
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";
|
type = "lua";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ 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" },
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
123
users/modules/podman/containers.nix
Normal file
123
users/modules/podman/containers.nix
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
{ 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";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
7
users/modules/podman/default.nix
Normal file
7
users/modules/podman/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
./podman.nix
|
||||||
|
./containers.nix
|
||||||
|
./podman-dnsname.nix
|
||||||
|
];
|
||||||
|
}
|
36
users/modules/podman/podman-dnsname.nix
Normal file
36
users/modules/podman/podman-dnsname.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
183
users/modules/podman/podman.nix
Normal file
183
users/modules/podman/podman.nix
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
{ 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";
|
||||||
|
})
|
||||||
|
]);
|
||||||
|
}
|
53
users/profiles/alacritty/default.nix
Normal file
53
users/profiles/alacritty/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
home.sessionPath = [ "$HOME/.local/bin" "$HOME/.cargo/bin/" ];
|
|
||||||
}
|
|
|
@ -1,13 +1,12 @@
|
||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
init.defaultBranch = "mistress";
|
init.defaultBranch = "mistress";
|
||||||
pull.ff = "only";
|
pull.ff = "only";
|
||||||
};
|
};
|
||||||
userEmail = "git@badat.dev";
|
userEmail = "badatnames@tutanota.com";
|
||||||
userName = "mae";
|
userName = "bad";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,6 @@
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
go.enable = true;
|
go.enable = true;
|
||||||
clangd.enable = true;
|
clangd.enable = true;
|
||||||
python.enable = true;
|
#python.enable = true;
|
||||||
elixir.enable = true;
|
|
||||||
dart.enable = true;
|
|
||||||
hexeditor.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,6 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
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
|
|
||||||
{
|
{
|
||||||
home.packages = [ podmanCompose ];
|
services.podman.enable = true;
|
||||||
home.sessionVariables.DOCKER_HOST = podman_sock;
|
services.podman.defaultNetwork.dnsname.enable = true;
|
||||||
|
services.podman.dockerSocket.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }@inputs:
|
{ pkgs, lib, ... }@inputs:
|
||||||
let
|
let
|
||||||
rofi = pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };
|
rofi = pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };
|
||||||
scripts = ((import ./scripts.nix) inputs);
|
scripts = ((import ./scripts.nix) inputs);
|
||||||
|
@ -8,7 +8,7 @@ in
|
||||||
wayland.windowManager.sway = rec {
|
wayland.windowManager.sway = rec {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
terminal = "alacritty";
|
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||||
menu = "${rofi}/bin/rofi -show combi";
|
menu = "${rofi}/bin/rofi -show combi";
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
output = {
|
output = {
|
||||||
|
@ -22,7 +22,6 @@ in
|
||||||
accel_profile = "flat";
|
accel_profile = "flat";
|
||||||
dwt = "disabled";
|
dwt = "disabled";
|
||||||
pointer_accel = "0.0";
|
pointer_accel = "0.0";
|
||||||
xkb_options = "caps:escape";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
bars = [{
|
bars = [{
|
||||||
|
@ -31,20 +30,24 @@ in
|
||||||
}];
|
}];
|
||||||
floating.criteria = [{ title = "Steam - Update News"; }];
|
floating.criteria = [{ title = "Steam - Update News"; }];
|
||||||
startup = [
|
startup = [
|
||||||
# Support for old style xembed tray icons, mostly used by wine
|
# Copied from https://git.sr.ht/~sumner/home-manager-config/tree/master/item/modules/window-manager/wayland.nix#L64
|
||||||
{ command = "${pkgs.plasma-workspace}/bin/xembedsniproxy"; }
|
# 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"; }
|
||||||
];
|
];
|
||||||
keybindings = lib.mkOptionDefault {
|
keybindings = lib.mkOptionDefault {
|
||||||
"XF86PowerOff" = "exec systemctl suspend";
|
"XF86PowerOff" = "exec systemctl hibernate";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
systemdIntegration = true;
|
systemdIntegration = true;
|
||||||
extraSessionCommands = ''
|
extraSessionCommands = ''
|
||||||
#export SDL_VIDEODRIVER=wayland
|
#export SDL_VIDEODRIVER=wayland
|
||||||
|
# needs qt5.qtwayland in systemPackages
|
||||||
export QT_WAYLAND_FORCE_DPI=physical
|
export QT_QPA_PLATFORM=wayland
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||||
# Fix for some Java AWT applications (e.g. Android Studio),
|
# Fix for some Java AWT applications (e.g. Android Studio),
|
||||||
# use this if they aren't displayed properly:
|
# use this if they aren't displayed properly:
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
@ -64,9 +67,8 @@ in
|
||||||
exec = pkgs.writeShellScript "riley-gender" ''
|
exec = pkgs.writeShellScript "riley-gender" ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
until ping -c1 google.com >/dev/null 2>&1; do :; done
|
until ping -c1 google.com >/dev/null 2>&1; do :; done
|
||||||
summary="$(${pkgs.curl}/bin/curl 'https://riley.lgbt/api/summary')"
|
gender="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/gender')"
|
||||||
pronouns="$(echo $summary | jq -r '.pronouns')"
|
pronouns="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/pronouns')"
|
||||||
gender="$(echo $summary | jq -r '.gender')"
|
|
||||||
echo -n "Riley: $gender ($pronouns)"
|
echo -n "Riley: $gender ($pronouns)"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -98,7 +100,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mako = {
|
programs.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultTimeout = 2000;
|
defaultTimeout = 2000;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,23 +1,40 @@
|
||||||
* {
|
|
||||||
all: unset;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: rgba(43, 48, 59, 0.5);
|
background-color: rgba(43, 48, 59, 0.5);
|
||||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
transition-duration: .5s;
|
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 {
|
#workspaces button {
|
||||||
padding: 0px 10px;
|
padding: 0 5px;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
/* Use box-shadow instead of border so the text isn't offset */
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
@ -42,6 +59,11 @@ window#waybar {
|
||||||
background-color: #eb4d4b;
|
background-color: #eb4d4b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: #64727D;
|
||||||
|
border-bottom: 3px solid #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
#clock,
|
#clock,
|
||||||
#battery,
|
#battery,
|
||||||
#cpu,
|
#cpu,
|
||||||
|
@ -54,26 +76,32 @@ window#waybar {
|
||||||
#custom-media,
|
#custom-media,
|
||||||
#mode,
|
#mode,
|
||||||
#idle_inhibitor,
|
#idle_inhibitor,
|
||||||
#scratchpad,
|
|
||||||
#custom-riley-gender,
|
#custom-riley-gender,
|
||||||
#mpd {
|
#mpd {
|
||||||
padding: 5px 10px;
|
padding: 0 10px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mode {
|
#tray * {
|
||||||
background-color: #64727D;
|
padding: 0 5px;
|
||||||
border-bottom: 3px solid #ffffff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-riley-gender {
|
#custom-riley-gender {
|
||||||
background-color: #7D9EFF;
|
background-color: #7D9EFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
.modules-left > widget:first-child > #workspaces {
|
.modules-left > widget:first-child > #workspaces {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
.modules-right > widget:last-child > #workspaces {
|
.modules-right > widget:last-child > #workspaces {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
@ -130,17 +158,44 @@ label:focus {
|
||||||
background-color: #90b1b1;
|
background-color: #90b1b1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
background-color: #f1c40f;
|
background-color: #f1c40f;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
|
background-color: #90b1b1;
|
||||||
color: #2a5c45;
|
color: #2a5c45;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray * {
|
#custom-media {
|
||||||
padding: 0 5px;
|
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 {
|
#tray {
|
||||||
|
@ -155,3 +210,53 @@ label:focus {
|
||||||
-gtk-icon-effect: highlight;
|
-gtk-icon-effect: highlight;
|
||||||
background-color: #eb4d4b;
|
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);
|
||||||
|
}
|
||||||
|
|
11
users/profiles/vscode/default.nix
Normal file
11
users/profiles/vscode/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
ms-vsliveshare.vsliveshare
|
||||||
|
vscodevim.vim
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -28,8 +28,6 @@
|
||||||
|
|
||||||
${builtins.readFile ./p10k.zsh}
|
${builtins.readFile ./p10k.zsh}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
programs.direnv.enableZshIntegration = true;
|
programs.direnv.enableZshIntegration = true;
|
||||||
home.packages = [ pkgs.fzf ];
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue