Compare commits
15 commits
fc4abfb8ec
...
c55c2c1ee8
Author | SHA1 | Date | |
---|---|---|---|
c55c2c1ee8 |
|||
a337eabba2 |
|||
4fba84bc9d |
|||
866f023b4c |
|||
3d1f6645ae |
|||
2411c0b496 |
|||
ec1b31cabc |
|||
53bfb9303f |
|||
95e9586d4c |
|||
0a0d5a1e72 |
|||
0d8d5364bd |
|||
2b9a8a4f3b |
|||
b414e7c2af |
|||
e1df5fa28e |
|||
213d31230b |
27 changed files with 247 additions and 363 deletions
4
.envrc
4
.envrc
|
@ -1,4 +0,0 @@
|
|||
watch_file flake.nix
|
||||
|
||||
use flake
|
||||
|
207
.github/logo.svg
vendored
207
.github/logo.svg
vendored
|
@ -1,207 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="200"
|
||||
height="200"
|
||||
viewBox="0 0 501.56251 501.56249"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||
sodipodi:docname="nix-webring.svg"
|
||||
inkscape:export-filename="nix-webring.png"
|
||||
inkscape:export-xdpi="107.66355"
|
||||
inkscape:export-ydpi="107.66355"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5562">
|
||||
<stop
|
||||
style="stop-color:#699ad7;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop5564" />
|
||||
<stop
|
||||
id="stop5566"
|
||||
offset="0.24345198"
|
||||
style="stop-color:#7eb1dd;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#7ebae4;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop5568" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5053">
|
||||
<stop
|
||||
style="stop-color:#415e9a;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop5055" />
|
||||
<stop
|
||||
id="stop5057"
|
||||
offset="0.23168644"
|
||||
style="stop-color:#4a6baf;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#5277c3;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop5059" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5053"
|
||||
id="linearGradient4330"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(864.69589,-1491.3405)"
|
||||
x1="-584.19934"
|
||||
y1="782.33563"
|
||||
x2="-496.29703"
|
||||
y2="937.71399" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5562"
|
||||
id="linearGradient1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(60,1285.574,-127.0267)"
|
||||
x1="200.59668"
|
||||
y1="351.41116"
|
||||
x2="290.08701"
|
||||
y2="506.18814" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5562"
|
||||
id="linearGradient2"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(-60,-541.80106,-249.3096)"
|
||||
x1="200.59668"
|
||||
y1="351.41116"
|
||||
x2="290.08701"
|
||||
y2="506.18814" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5562"
|
||||
id="linearGradient3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(180,372.09351,-188.18095)"
|
||||
x1="200.59668"
|
||||
y1="351.41116"
|
||||
x2="290.08701"
|
||||
y2="506.18814" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5053"
|
||||
id="linearGradient4"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(120,405.50413,279.20289)"
|
||||
x1="-584.19934"
|
||||
y1="782.33563"
|
||||
x2="-496.29703"
|
||||
y2="937.71399" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5053"
|
||||
id="linearGradient5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(-120,-455.57263,-219.8159)"
|
||||
x1="-584.19934"
|
||||
y1="782.33563"
|
||||
x2="-496.29703"
|
||||
y2="937.71399" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.70710678"
|
||||
inkscape:cx="428.50671"
|
||||
inkscape:cy="330.92597"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1404"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="gradient-logo"
|
||||
style="display:inline;opacity:1"
|
||||
transform="translate(-156.41121,933.30685)">
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(0.99994059,0,0,0.99994059,-0.06321798,33.188377)"
|
||||
style="stroke-width:1.00006">
|
||||
<g
|
||||
id="g5"
|
||||
transform="matrix(1.5923554,0,0,1.5923554,-241.25483,424.14882)">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="use3439-6"
|
||||
d="m 353.65459,-797.57947 -75.33983,131.03333 -28.53475,-48.37004 14.05181,-24.82625 33.4638,-57.69041 z"
|
||||
style="fill:url(#linearGradient1);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="use3445-0"
|
||||
d="m 363.03058,-628.3791 150.65887,0.012 -27.6223,48.89684 -28.03684,-0.0386 -66.69326,-0.1353 z"
|
||||
style="fill:url(#linearGradient2);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="use3449-5"
|
||||
d="m 505.28844,-721.12473 -75.88193,-131.23275 56.15706,-0.5268 14.54791,25.05223 33.22946,57.8257 z"
|
||||
style="fill:url(#linearGradient3);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient4330);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 309.54892,-710.38827 75.60056,130.67022 -56.15706,0.5268 -14.26654,-24.4897 -33.22946,-57.8256 z"
|
||||
id="path4260-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient4);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 451.30201,-803.62004 -150.65887,-0.012 27.62231,-48.89684 28.03683,0.0386 66.69317,0.13525 z"
|
||||
id="use4354-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient5);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.00018;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 460.90516,-633.96606 75.33983,-131.03333 28.53475,48.37004 -14.05181,24.82625 -33.46371,57.69035 z"
|
||||
id="use4362-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 8.7 KiB |
67
flake.lock
generated
67
flake.lock
generated
|
@ -20,11 +20,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751569683,
|
||||
"narHash": "sha256-PoQcCYTiN52PanxgWBN4Tqet1x4PCk6KtjaHNjELH88=",
|
||||
"lastModified": 1751740947,
|
||||
"narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "c0c56dde3e471030edb135425a82107cf0057c6f",
|
||||
"rev": "dfc1db15a08c4cd234288f66e1199c653495301f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -435,11 +435,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750621377,
|
||||
"narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=",
|
||||
"lastModified": 1751808145,
|
||||
"narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310",
|
||||
"rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -468,11 +468,11 @@
|
|||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751714318,
|
||||
"narHash": "sha256-nkoRnDkRGaCT0JTuHcDXPCMkdmhUFEtI1TMUiQcrxfs=",
|
||||
"lastModified": 1751904574,
|
||||
"narHash": "sha256-jXkava/9BRiY2JEVmB68mpkFd+JU3BnNbh2RtRBXfTA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"rev": "6a5f4f5954a64bac718e3938f062d045256e7aeb",
|
||||
"rev": "bb958a9e139d6ae90d45fe360287d33e229f971e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -615,11 +615,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751061882,
|
||||
"narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=",
|
||||
"lastModified": 1751888065,
|
||||
"narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "4737241eaf8a1e51671a2a088518071f9a265cf4",
|
||||
"rev": "a8229739cf36d159001cfc203871917b83fdf917",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -640,11 +640,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750371869,
|
||||
"narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=",
|
||||
"lastModified": 1751881472,
|
||||
"narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd",
|
||||
"rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -800,18 +800,15 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1751271578,
|
||||
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||
"type": "github"
|
||||
"lastModified": 315532800,
|
||||
"narHash": "sha256-5EzvWAMTAf6m6Ynab7EnYz9OfJO2wHCb/yhtP8ACQQQ=",
|
||||
"rev": "9b008d60392981ad674e04016d25619281550a9d",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre826760.9b008d603929/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
|
@ -886,11 +883,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751686190,
|
||||
"narHash": "sha256-veNnb2UVyjugo9fIeGjisMGGn0TNae71p5D1YwwEAFs=",
|
||||
"lastModified": 1751880110,
|
||||
"narHash": "sha256-5fQ2cetL3rTHqXe2VM3puawL/8u5j6ujBr6Gdt7Iues=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "87d99b866f9866db10b55c8b03632f0eecae52d8",
|
||||
"revCount": 606,
|
||||
"rev": "5d7e07508ae3e5487edb1ac5a152120434f091d5",
|
||||
"revCount": 607,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
},
|
||||
|
@ -941,11 +938,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751683029,
|
||||
"narHash": "sha256-dYO5X5jK8bpQOeRAo8R5aUt6M/+Ji1cZgstZI7SQ2IA=",
|
||||
"lastModified": 1751856221,
|
||||
"narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "9e5e62a33a929a67a5427fb7324a6f583dced0b2",
|
||||
"rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1079,11 +1076,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750372504,
|
||||
"narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=",
|
||||
"lastModified": 1751300244,
|
||||
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92",
|
||||
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
15
flake.nix
15
flake.nix
|
@ -7,17 +7,11 @@
|
|||
in {
|
||||
nixosConfigurations = import ./hosts inputs;
|
||||
|
||||
devShells =
|
||||
lib.mapAttrs (system: pkgs: {
|
||||
default = pkgs.callPackage ./shell.nix {};
|
||||
})
|
||||
pkgsFor;
|
||||
|
||||
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
|
||||
|
||||
packages =
|
||||
lib.mapAttrs (
|
||||
system: pkgs: {
|
||||
_: pkgs: {
|
||||
inherit
|
||||
(import ./packages {
|
||||
inherit inputs pkgs;
|
||||
|
@ -46,8 +40,9 @@
|
|||
templates = import ./templates;
|
||||
};
|
||||
inputs = {
|
||||
# Unstable nixpkgs baby!
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
# Unstable nixpkgs, using the new Lockable HTTP Tarball protocol
|
||||
# https://github.com/NixOS/infra/pull/562.
|
||||
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
|
||||
|
||||
systems.url = "github:nix-systems/default-linux";
|
||||
|
||||
|
@ -85,7 +80,7 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# DetNix is doing too well these days not to use it...
|
||||
# DetNix is doing too well these days not to use it.
|
||||
determinate = {
|
||||
url = "github:determinatesystems/determinate";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -23,7 +23,7 @@ inputs: let
|
|||
inherit inputs;
|
||||
inherit self;
|
||||
}
|
||||
(args.specialArgs or {});
|
||||
args.specialArgs or {};
|
||||
modules = concatLists [
|
||||
# This is used to pre-emptively set the hostPlatform for nixpkgs.
|
||||
# Also, we set the system hostname here.
|
||||
|
|
|
@ -9,21 +9,23 @@
|
|||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console.keyMap = "uk";
|
||||
security.polkit.enable = true;
|
||||
programs.nix-ld.enable = false;
|
||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
services = {
|
||||
fstrim.enable = lib.mkDefault true;
|
||||
thermald.enable = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableBashCompletion = true;
|
||||
programs = {
|
||||
nix-ld.enable = false;
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableBashCompletion = true;
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-qt;
|
||||
};
|
||||
};
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-qt;
|
||||
};
|
||||
modules = {
|
||||
wms.wayland.enable = true;
|
||||
desktops.hyprland.enable = false;
|
||||
|
|
|
@ -6,10 +6,12 @@
|
|||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [];
|
||||
boot.extraModulePackages = [];
|
||||
boot = {
|
||||
initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
|
||||
initrd.kernelModules = [];
|
||||
kernelModules = [];
|
||||
extraModulePackages = [];
|
||||
};
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
# 1:1 taken from raf's custom kernel, check out his config for this.
|
||||
.overrideAttrs (oa: {
|
||||
prePatch =
|
||||
(oa.prePatch or "")
|
||||
oa.prePatch or ""
|
||||
+ ''
|
||||
# bragging rights
|
||||
echo "Replacing localversion with custom suffix"
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "virtio_scsi" "sr_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [];
|
||||
boot.extraModulePackages = [];
|
||||
boot = {
|
||||
initrd.availableKernelModules = ["xhci_pci" "virtio_scsi" "sr_mod"];
|
||||
initrd.kernelModules = [];
|
||||
kernelModules = [];
|
||||
extraModulePackages = [];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
|
|
|
@ -3,6 +3,5 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
}: {
|
||||
}
|
||||
|
|
37
modules/programs/gui/brave/module.nix
Normal file
37
modules/programs/gui/brave/module.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{pkgs, ...}: {
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extraOpts = {
|
||||
BraveRewardsDisabled = true;
|
||||
BraveWalletDisabled = true;
|
||||
PromotionsEnabled = false;
|
||||
TorDisabled = true;
|
||||
BraveVPNDisabled = true;
|
||||
BraveAIChatEnabled = false;
|
||||
BraveSyncUrl = "";
|
||||
PrivacySandboxFingerprintingProtectionEnabled = true;
|
||||
PrivacySandboxIpProtectionEnabled = true;
|
||||
DefaultSearchProviderEnabled = true;
|
||||
DefaultSearchProviderName = "Kagi";
|
||||
DefaultSearchProviderSearchURL = "https://kagi.com/search?q={searchTerms}";
|
||||
DefaultSearchProviderNewTabURL = "https://kagi.com";
|
||||
SearchSuggestEnabled = true;
|
||||
DefaultSearchProviderSuggestURL = "https://kagi.com/api/autosuggest?q={searchTerms}";
|
||||
PasswordManagerEnabled = false;
|
||||
BlockThirdPartyCookies = true;
|
||||
};
|
||||
extensions = [
|
||||
# NoScript
|
||||
"doojmbjmlfjjnbmnoijecmcbfeoakpjm"
|
||||
# KeePassXC-Browser
|
||||
"oboonakemofpalcgghocfoadofidjkkk"
|
||||
# Catppuccin Mocha
|
||||
"bkkmolkhemgaeaeggcmfbghljjjoofoh"
|
||||
# Dark Reader
|
||||
"eimadpbcbfnmbkopoojfekhnkhdbieeh"
|
||||
];
|
||||
};
|
||||
environment.systemPackages = [
|
||||
(pkgs.brave.override {vulkanSupport = true;})
|
||||
];
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
}: {
|
||||
environment.systemPackages = builtins.attrValues {
|
||||
inherit (pkgs) fuzzel;
|
||||
};
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
}: let
|
||||
inherit (lib.lists) elem;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
|
||||
inherit (config.meta.mainUser.defaultShell) name package;
|
||||
inherit (config.modules.style.colorScheme) slug;
|
||||
|
@ -17,30 +19,59 @@
|
|||
then name
|
||||
else "none";
|
||||
|
||||
ghostty-settings = pkgs.writeText "config" ''
|
||||
font-family = JetBrainsMono Nerd Font Mono
|
||||
window-padding-x = 8
|
||||
window-padding-y = 8
|
||||
background-opacity = 0.85
|
||||
gtk-single-instance = true
|
||||
font-size = 14
|
||||
theme = ${slug}
|
||||
resize-overlay-duration = 0s
|
||||
cursor-style-blink = false
|
||||
confirm-close-surface = false
|
||||
copy-on-select = true
|
||||
term = xterm-256color
|
||||
ghostty-settings = {
|
||||
font-family = "JetBrainsMonoNerdFont";
|
||||
font-family-bold = "JetBrainsMonoNerdFontBold";
|
||||
font-family-italic = "JetBrainsMonoNerdFontItalic";
|
||||
font-family-bold-italic = "JetBrainsMonoNerdFontBoldItalic";
|
||||
font-size = 14;
|
||||
|
||||
shell-integration = ${shell-integration}
|
||||
command = ${getExe package}
|
||||
'';
|
||||
window-padding-x = 8;
|
||||
window-padding-y = 8;
|
||||
background-opacity = 0.85;
|
||||
gtk-single-instance = "true";
|
||||
gtk-tabs-location = "bottom";
|
||||
gtk-wide-tabs = false;
|
||||
window-padding-balance = true;
|
||||
window-decoration = "none";
|
||||
theme = slug;
|
||||
resize-overlay-duration = "0s";
|
||||
cursor-style-blink = "false";
|
||||
confirm-close-surface = "false";
|
||||
mouse-hide-while-typing = "true";
|
||||
|
||||
window-theme = "ghostty";
|
||||
bold-is-bright = "true";
|
||||
term = "xterm-256color";
|
||||
|
||||
app-notifications = "no-clipboard-copy";
|
||||
shell-integration-features = "cursor,sudo,no-title";
|
||||
# window-padding-y = 10;
|
||||
cursor-style = "block";
|
||||
|
||||
# Whether to automatically copy selected text to the clipboard. true will prefer to copy to the selection clipboard, otherwise it will copy to the system clipboard.
|
||||
# The value clipboard will always copy text to the selection clipboard as well as the system clipboard.
|
||||
copy-on-select = "clipboard";
|
||||
|
||||
inherit shell-integration;
|
||||
command = getExe package;
|
||||
};
|
||||
|
||||
settingsFile = pkgs.writeText "config" <| concatStringsSep "\n" <| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings;
|
||||
|
||||
ghostty = pkgs.ghostty.overrideAttrs (_: {
|
||||
preBuild = ''
|
||||
shopt -s globstar
|
||||
sed -i 's/^const xev = @import("xev");$/const xev = @import("xev").Epoll;/' **/*.zig
|
||||
shopt -u globstar
|
||||
'';
|
||||
});
|
||||
ghostty-wrapped = pkgs.symlinkJoin {
|
||||
name = "ghostty-wrapped";
|
||||
paths = [pkgs.ghostty];
|
||||
paths = [ghostty];
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/ghostty --add-flags "--config-file=${ghostty-settings}"
|
||||
wrapProgram $out/bin/ghostty --add-flags "--config-file=${settingsFile}"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
|
|
|
@ -29,7 +29,7 @@ in {
|
|||
http_port = port;
|
||||
|
||||
root_url = "https://${domain}";
|
||||
domain = domain;
|
||||
inherit domain;
|
||||
enforce_domain = true;
|
||||
};
|
||||
database = {
|
||||
|
|
|
@ -12,19 +12,12 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
|
||||
keyboards.daskeyboard = {
|
||||
devices = ["/dev/input/by-id/usb-Metadot_-_Das_Keyboard_Das_Keyboard-event-kbd"];
|
||||
config = builtins.readFile (./. + "/main.kbd");
|
||||
};
|
||||
|
||||
keyboards.laptop = {
|
||||
devices = ["/dev/input/by-path/platform-i8042-serio-0-event-kbd"];
|
||||
config = builtins.readFile (./. + "/main.kbd");
|
||||
};
|
||||
|
||||
keyboards.dell-keyboard = {
|
||||
devices = ["/dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd"];
|
||||
keyboards.main = {
|
||||
devices = [
|
||||
"/dev/input/by-id/usb-Metadot_-_Das_Keyboard_Das_Keyboard-event-kbd"
|
||||
"/dev/input/by-path/platform-i8042-serio-0-event-kbd"
|
||||
"/dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd"
|
||||
];
|
||||
config = builtins.readFile (./. + "/main.kbd");
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,45 @@
|
|||
{pkgs, ...}: let
|
||||
inherit (builtins) mapAttrs;
|
||||
|
||||
fancy-iosevka = pkgs.iosevka.override {
|
||||
privateBuildPlan = {
|
||||
family = "fancy-iosevka";
|
||||
spacing = "term";
|
||||
serifs = "sans";
|
||||
noCvSs = true;
|
||||
exportGlyphNames = false;
|
||||
|
||||
ligations.inherits = "dlig";
|
||||
variants = {
|
||||
inherits = "ss15";
|
||||
design = {
|
||||
e = "flat-crossbar";
|
||||
f = "diagonal-tailed-crossbar-at-x-height";
|
||||
};
|
||||
};
|
||||
weights.Regular = {
|
||||
shape = 400;
|
||||
menu = 400;
|
||||
css = 400;
|
||||
};
|
||||
weights.Bold = {
|
||||
shape = 700;
|
||||
menu = 700;
|
||||
css = 700;
|
||||
};
|
||||
widths.Condensed = {
|
||||
shape = 500;
|
||||
menu = 3;
|
||||
css = "condensed";
|
||||
};
|
||||
widths.normal = {
|
||||
shape = 600;
|
||||
menu = 5;
|
||||
css = "normal";
|
||||
};
|
||||
};
|
||||
set = "Fancy";
|
||||
};
|
||||
in {
|
||||
# A (somewhat) sane list of fonts to be installed.
|
||||
fonts = {
|
||||
|
@ -55,6 +95,8 @@ in {
|
|||
comic-shanns-mono
|
||||
symbols-only
|
||||
;
|
||||
|
||||
inherit fancy-iosevka;
|
||||
};
|
||||
fontDir = {
|
||||
# Whether to create a directory with links to all fonts in
|
||||
|
|
|
@ -54,7 +54,7 @@ in {
|
|||
efi.canTouchEfiVariables = true;
|
||||
timeout = mkDefault cfg.timeout;
|
||||
systemd-boot = {
|
||||
enable = cfg.systemd-boot.enable;
|
||||
inherit (cfg.systemd-boot) enable;
|
||||
# INFO: Leaving this enabled is a security vulneratibility,
|
||||
# since we can just start /bin/sh from there and get root access.
|
||||
# Since I have FDE, this isn't _as_ critical, but it would still be
|
||||
|
@ -64,7 +64,7 @@ in {
|
|||
configurationLimit = 5;
|
||||
};
|
||||
grub = {
|
||||
enable = cfg.grub.enable;
|
||||
inherit (cfg.grub) enable;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
configurationLimit = 5;
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
}: {
|
||||
networking = {
|
||||
# use nftables over iptables
|
||||
nftables.enable = true;
|
||||
|
|
|
@ -1,5 +1,42 @@
|
|||
_: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkForce mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.lists) optional;
|
||||
in {
|
||||
imports = [
|
||||
./variables.nix
|
||||
];
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
# Sets environment variable NIXOS_XDG_OPEN_USE_PORTAL to 1.
|
||||
# This will make xdg-open use the portal to open programs,
|
||||
# which resolves bugs involving programs opening inside FHS envs
|
||||
# or with unexpected env vars set from wrappers.
|
||||
# See #160923 for more info.
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals =
|
||||
[
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
]
|
||||
++ (
|
||||
optional config.programs.niri.enable
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
)
|
||||
++ (
|
||||
optional config.programs.hyprland.enable
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
);
|
||||
config = {
|
||||
common.default = mkIf config.programs.hyprland.enable ["*"];
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.niri
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -52,21 +52,5 @@ in {
|
|||
inherit (pkgs) xwayland-satellite avizo;
|
||||
inherit new-swww;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
];
|
||||
config = {
|
||||
common.default = ["*"];
|
||||
hyprland.default = ["gtk"];
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.niri
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,6 +3,5 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
}: {
|
||||
}
|
||||
|
|
|
@ -9,15 +9,15 @@ pkgs.writeTextDir "${vendorConf}/blox_config.fish"
|
|||
# source ${pkgs.fishPlugins.sponge}/share/zsh-defer/zsh-defer.plugin.zsh
|
||||
${pkgs.atuin}/bin/atuin init fish | source
|
||||
bind up _atuin_bind_up
|
||||
|
||||
|
||||
${pkgs.zoxide}/bin/zoxide init fish | source
|
||||
# abbr --erase cd &>/dev/null
|
||||
# alias cd=__zoxide_z
|
||||
|
||||
|
||||
# abbr --erase ci &>/dev/null
|
||||
# alias ci=__zoxide_zi
|
||||
|
||||
|
||||
|
||||
|
||||
${pkgs.starship}/bin/starship init fish | source
|
||||
${pkgs.direnv}/bin/direnv hook fish | source
|
||||
${pkgs.pay-respects}/bin/pay-respects fish --alias f --nocnf | source
|
||||
|
|
|
@ -43,12 +43,10 @@
|
|||
|
||||
custom-helix =
|
||||
(helix.override {inherit rustPlatform;}).overrideAttrs
|
||||
(_: let
|
||||
inherit (custom-helix) version;
|
||||
in {
|
||||
(finalAttrs: previousAttrs: {
|
||||
version = "25.06.1";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/bloxx12/helix/releases/download/${version}/helix-${version}-source.tar.xz";
|
||||
url = "https://github.com/bloxx12/helix/releases/download/${finalAttrs.version}/helix-${finalAttrs.version}-source.tar.xz";
|
||||
hash = "sha256-941moaBUF+aGsbFapK1cp5+NFdecSfRCTdnVUtkDQps=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
config = {
|
||||
check = {
|
||||
command = "clippy";
|
||||
extraArgs = ["--" "-D" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"];
|
||||
extraArgs = ["--" "-W" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"];
|
||||
};
|
||||
cargo.features = "all";
|
||||
};
|
||||
|
|
21
shell.nix
21
shell.nix
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
mkShellNoCC,
|
||||
git,
|
||||
writeShellApplication,
|
||||
}:
|
||||
mkShellNoCC {
|
||||
name = "nichts";
|
||||
|
||||
DIRENV_LOG_FORMAT = "";
|
||||
|
||||
packages = [
|
||||
git # take a guess
|
||||
|
||||
(writeShellApplication {
|
||||
name = "update";
|
||||
text = ''
|
||||
nix flake update && git commit flake.lock -m "flake: bump inputs"
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue