1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-29 19:17:45 +00:00

Add pala host

This commit is contained in:
RGBCube 2025-01-08 13:16:27 +03:00
parent ed17966d6f
commit a8275cc97a
Signed by: RGBCube
SSH key fingerprint: SHA256:CzqbPcfwt+GxFYNnFVCqoN5Itn4YFrshg1TrnACpA5M
19 changed files with 183 additions and 657 deletions

2
.gitignore vendored
View file

@ -21,6 +21,8 @@
!hosts/nine/ !hosts/nine/
!hosts/nine/github2forgejo/ !hosts/nine/github2forgejo/
!hosts/pala/
!modules/ !modules/
!modules/hyprland/ !modules/hyprland/
!modules/nushell/ !modules/nushell/

542
flake.lock generated
View file

@ -118,204 +118,12 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_8"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_9"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_6": {
"inputs": {
"systems": "systems_10"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"ghostty": {
"inputs": {
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig",
"zls": "zls"
},
"locked": {
"lastModified": 1720386080,
"narHash": "sha256-Zin2FSc+wYt8i5DZkhOvld1wlGsXC0PBeBxKrskHklI=",
"ref": "refs/heads/main",
"rev": "31d53849204c7294eba5e973047d9fc6f6e915ff",
"revCount": 6513,
"type": "git",
"url": "ssh://git@github.com/RGBCube/ghostty"
},
"original": {
"type": "git",
"url": "ssh://git@github.com/RGBCube/ghostty"
}
},
"ghosttyModule": {
"locked": {
"lastModified": 1702368251,
"narHash": "sha256-hafrDmzGplzm+vdIo+LkOjRfA4qRcy5JmpGGksnht5c=",
"owner": "clo4",
"repo": "ghostty-hm-module",
"rev": "887e13a6e7acf5ffaab0119d96e476d84db90904",
"type": "github"
},
"original": {
"owner": "clo4",
"repo": "ghostty-hm-module",
"type": "github"
}
},
"github2forgejo": { "github2forgejo": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_5" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1716973075, "lastModified": 1716973075,
@ -331,49 +139,6 @@
"type": "github" "type": "github"
} }
}, },
"gitignore": {
"inputs": {
"nixpkgs": [
"ghostty",
"zls",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"zls",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1720372297, "lastModified": 1720372297,
@ -469,7 +234,7 @@
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"systems": "systems_6", "systems": "systems_3",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
@ -612,30 +377,6 @@
"type": "github" "type": "github"
} }
}, },
"langref": {
"flake": false,
"locked": {
"narHash": "sha256-O6p2tiKD8ZMhSX+DeA/o5hhAvcPkU2J9lFys/r11peY=",
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in"
},
"original": {
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in"
}
},
"langref_2": {
"flake": false,
"locked": {
"narHash": "sha256-O6p2tiKD8ZMhSX+DeA/o5hhAvcPkU2J9lFys/r11peY=",
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in"
},
"original": {
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1720031269, "lastModified": 1720031269,
@ -652,38 +393,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1719082008,
"narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9693852a2070b398ee123a329e68f0dab5526681",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1719075281, "lastModified": 1719075281,
@ -737,8 +446,6 @@
"ageNix": "ageNix", "ageNix": "ageNix",
"crash": "crash", "crash": "crash",
"fenix": "fenix", "fenix": "fenix",
"ghostty": "ghostty",
"ghosttyModule": "ghosttyModule",
"github2forgejo": "github2forgejo", "github2forgejo": "github2forgejo",
"hardware": "hardware", "hardware": "hardware",
"homeManager": "homeManager", "homeManager": "homeManager",
@ -747,9 +454,7 @@
"hyprpicker": "hyprpicker", "hyprpicker": "hyprpicker",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"simpleMail": "simpleMail", "simpleMail": "simpleMail",
"themes": "themes", "themes": "themes"
"zig": "zig_2",
"zls": "zls_2"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
@ -772,7 +477,7 @@
"simpleMail": { "simpleMail": {
"inputs": { "inputs": {
"blobs": "blobs", "blobs": "blobs",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -807,21 +512,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_10": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": { "systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@ -838,51 +528,6 @@
} }
}, },
"systems_3": { "systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_6": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -897,37 +542,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_7": { "systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_8": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_9": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -959,7 +574,7 @@
}, },
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_7" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1709126324, "lastModified": 1709126324,
@ -1004,151 +619,6 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"zig": {
"inputs": {
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zig-overlay": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"ghostty",
"zls",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718539737,
"narHash": "sha256-hvQ900gSqzGnJWMRQwv65TixciIbC44iX0Nh5ENRwCU=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "6eb42ce6f85d247b1aecf854c45d80902821d0ad",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zig-overlay_2": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_6",
"nixpkgs": [
"zls",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718539737,
"narHash": "sha256-hvQ900gSqzGnJWMRQwv65TixciIbC44iX0Nh5ENRwCU=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "6eb42ce6f85d247b1aecf854c45d80902821d0ad",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zig_2": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1720354122,
"narHash": "sha256-nI3LUwiWKfCUltiRFq3ov5lZ+s8sYK1Xrdd3CjW2MGA=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "5207fffc5067526e5e24cca200030628d8247a6a",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zls": {
"inputs": {
"flake-utils": "flake-utils_2",
"gitignore": "gitignore",
"langref": "langref",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
],
"zig-overlay": "zig-overlay"
},
"locked": {
"lastModified": 1718930611,
"narHash": "sha256-FtfVhs6XHNfSQRQorrrz03nD0LCNp2FCnGllRntHBts=",
"owner": "zigtools",
"repo": "zls",
"rev": "0b9746b60c2020ab948f6556f1c729858b82a0f0",
"type": "github"
},
"original": {
"owner": "zigtools",
"ref": "master",
"repo": "zls",
"type": "github"
}
},
"zls_2": {
"inputs": {
"flake-utils": "flake-utils_5",
"gitignore": "gitignore_2",
"langref": "langref_2",
"nixpkgs": [
"nixpkgs"
],
"zig-overlay": "zig-overlay_2"
},
"locked": {
"lastModified": 1720349156,
"narHash": "sha256-eTjMZ/PEkzR+68C1hUwz9Qh/gizxwNG5PkMaDgplEZk=",
"owner": "zigtools",
"repo": "zls",
"rev": "fbd8b9a87a3cd5ab8389054815d9e3f81dfd430b",
"type": "github"
},
"original": {
"owner": "zigtools",
"ref": "master",
"repo": "zls",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -4,14 +4,12 @@
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [
"https://cache.garnix.io/" "https://cache.garnix.io/"
"https://ghostty.cachix.org/"
"https://hyprland.cachix.org/" "https://hyprland.cachix.org/"
"https://nix-community.cachix.org/" "https://nix-community.cachix.org/"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
]; ];
@ -63,22 +61,19 @@
inputs.nixpkgs.follows = "hyprland/nixpkgs"; inputs.nixpkgs.follows = "hyprland/nixpkgs";
}; };
ghostty.url = "git+ssh://git@github.com/RGBCube/ghostty";
ghosttyModule.url = "github:clo4/ghostty-hm-module";
fenix.url = "github:nix-community/fenix"; fenix.url = "github:nix-community/fenix";
zig = { # zig = {
url = "github:mitchellh/zig-overlay"; # url = "github:mitchellh/zig-overlay";
inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; # };
zls = { # zls = {
url = "github:zigtools/zls/master"; # url = "github:zigtools/zls/master";
inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; # };
themes.url = "github:RGBCube/ThemeNix"; themes.url = "github:RGBCube/ThemeNix";
}; };
@ -100,8 +95,7 @@
nixpkgsOverlayModule = with lib1; { nixpkgsOverlayModule = with lib1; {
nixpkgs.overlays = [(final: prev: { nixpkgs.overlays = [(final: prev: {
ghostty = inputs.ghostty.packages.${prev.system}.default; # hyprcursors = inputs.hyprcursors.packages.${prev.system}.default;
hyprcursors = inputs.hyprcursors.packages.${prev.system}.default;
zls = inputs.zls.packages.${prev.system}.default; zls = inputs.zls.packages.${prev.system}.default;
})] ++ pipe inputs [ })] ++ pipe inputs [
attrValues attrValues

View file

@ -31,7 +31,7 @@
font.sans.package = pkgs.lexend; font.sans.package = pkgs.lexend;
font.mono.name = "JetBrainsMono Nerd Font"; font.mono.name = "JetBrainsMono Nerd Font";
font.mono.package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }); font.mono.package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono"]; };
icons.name = "Gruvbox-Plus-Dark"; icons.name = "Gruvbox-Plus-Dark";
icons.package = pkgs.gruvbox-plus-icons; icons.package = pkgs.gruvbox-plus-icons;

24
hosts/pala/default.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, ... }: with lib; merge
(systemConfiguration {
system.stateVersion = "24.11";
nixpkgs.hostPlatform = "aarch64-linux";
time.timeZone = "Europe/Istanbul";
secrets.saidPassword.file = ./password.said.age;
users.users = {
root.hashedPasswordFile = config.secrets.saidPassword.path;
said = sudoUser (desktopUser {
description = "Said";
hashedPasswordFile = config.secrets.saidPassword.path;
});
};
})
(homeConfiguration {
home.stateVersion = "24.11";
})

33
hosts/pala/hardware.nix Normal file
View file

@ -0,0 +1,33 @@
{ config, lib, ... }: with lib;
systemConfiguration {
boot.loader = {
systemd-boot = enabled {
editor = false;
};
efi.canTouchEfiVariables = true;
};
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"sr_mod"
];
fileSystems."/" = {
device = "/dev/disk/by-label/root";
fsType = "btrfs";
options = [ "relatime" ];
};
fileSystems.${config.boot.loader.efi.efiSysMountPoint} = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
options = [ "relatime" "fmask=0077" "dmask=0077" ];
};
swapDevices = [{
device = "/dev/disk/by-label/swap";
}];
}

View file

@ -0,0 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 CzqbPQ ozAGsEreYHlTYUsRF2mk2HyHsgPFWgG5OnQVHCqjWBU
w6j8Cl7h/TVKBgZ36fJIime4GUDaA75+NAH7BYyQ9rg
-> ssh-ed25519 CzqbPQ eMmV1mSSS+yyI9GznqmBwDEUYPcsIN2uxSyrP3sW+S0
RAIaJhBIIdSfOufhKsoFs8LELJ1bzskeGreSB+qn41o
-> ssh-ed25519 CzqbPQ CDg4IuWX7dLXjOGKj61VbXsULFJjlyr9DZ5bWq3iLmI
b/EK8IoDlN6IoZ9bfG64iQprTqxH6OGK6t9/Vg5KFaw
--- rVFs9eG5vCmvV6TTx1bKIg9bksEZ7nCazlMAu2aJqBw
If$WbÓ<Òaºy/H9 @®<XŒ¡ß]X(»yô<79>)#9WMƒ Nö Y•R~<7E>Í`,iüÃРK©ú½ü4°Aª íÛÆêäåc?ôö€\2NÃʹ§­öÓåÆicý±y

View file

@ -4,7 +4,7 @@ let
cube = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINMkCJeHcD0SIOZ4HkyF6rqUmbvlKhSha3HWMZ0hbIjp rgb@cube"; cube = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINMkCJeHcD0SIOZ4HkyF6rqUmbvlKhSha3HWMZ0hbIjp rgb@cube";
disk = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIItpYQ3Pz6zFifKXvFX7xAC8aby9RW/m5PkW8T9SOee4 floppy@disk"; disk = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIItpYQ3Pz6zFifKXvFX7xAC8aby9RW/m5PkW8T9SOee4 floppy@disk";
enka = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBVkWUQ6Z4OK539tore/R5wnueNPPaX532RUAld8UOCo said@enka"; enka = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBVkWUQ6Z4OK539tore/R5wnueNPPaX532RUAld8UOCo said@enka";
pala = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXXxaxhkIMy0UyLOOnvwkNjzypS7D9kElHGKw8pZuFb said@pala"; pala = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBVkWUQ6Z4OK539tore/R5wnueNPPaX532RUAld8UOCo said@pala";
nine = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJDqnItmvXZMTSwzbalr+9jzS4kSJm5PWEpI8GOpebF seven@nine"; nine = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJDqnItmvXZMTSwzbalr+9jzS4kSJm5PWEpI8GOpebF seven@nine";
}; };
in keys // { in keys // {

66
modules/_ghostty.nix Normal file
View file

@ -0,0 +1,66 @@
{ config, lib, pkgs, ... }: with lib;
desktopUserHomeConfiguration {
programs.nushell.environmentVariables.TERMINAL = "ghostty";
programs.ghostty = enabled {
clearDefaultKeybinds = true;
settings = with config.theme; {
font-size = font.size.normal;
font-family = font.mono.name;
window-padding-x = padding;
window-padding-y = padding;
confirm-close-surface = false;
window-decoration = false;
config-file = toString (pkgs.writeText "base16-config" ghosttyConfig);
keybind = (mapAttrsToList (name: value: "ctrl+shift+${name}=${value}") {
c = "copy_to_clipboard";
v = "paste_from_clipboard";
z = "jump_to_prompt:-2";
x = "jump_to_prompt:2";
h = "write_scrollback_file";
i = "inspector:toggle";
page_down = "scroll_page_fractional:0.33";
down = "scroll_page_lines:1";
j = "scroll_page_lines:1";
page_up = "scroll_page_fractional:-0.33";
up = "scroll_page_lines:-1";
k = "scroll_page_lines:-1";
home = "scroll_to_top";
end = "scroll_to_bottom";
"physical:kp_enter" = "reset_font_size";
"physical:kp_add" = "increase_font_size:1";
"physical:kp_subtract" = "decrease_font_size:1";
t = "new_tab";
q = "close_surface";
"physical:one" = "goto_tab:1";
"physical:two" = "goto_tab:2";
"physical:three" = "goto_tab:3";
"physical:four" = "goto_tab:4";
"physical:five" = "goto_tab:5";
"physical:six" = "goto_tab:6";
"physical:seven" = "goto_tab:7";
"physical:eight" = "goto_tab:8";
"physical:nine" = "goto_tab:9";
"physical:zero" = "goto_tab:10";
}) ++ (mapAttrsToList (name: value: "ctrl+${name}=${value}") {
"physical:tab" = "next_tab";
"shift+physical:tab" = "previous_tab";
});
};
};
}

View file

@ -1,73 +0,0 @@
{ config, lib, pkgs, ... }: with lib;
desktopUserHomeConfiguration {
programs.nushell.environmentVariables.TERMINAL = "ghostty";
programs.ghostty = enabled {
package = pkgs.ghostty;
clearDefaultKeybindings = true;
keybindings = (mapAttrs' (name: nameValuePair "ctrl+shift+${name}") {
c = "copy_to_clipboard";
v = "paste_from_clipboard";
z = "jump_to_prompt:-2";
x = "jump_to_prompt:2";
h = "write_scrollback_file";
i = "inspector:toggle";
page_down = "scroll_page_fractional:0.33";
down = "scroll_page_lines:1";
j = "scroll_page_lines:1";
page_up = "scroll_page_fractional:-0.33";
up = "scroll_page_lines:-1";
k = "scroll_page_lines:-1";
home = "scroll_to_top";
end = "scroll_to_bottom";
"physical:kp_enter" = "reset_font_size";
"physical:kp_add" = "increase_font_size:1";
"physical:kp_subtract" = "decrease_font_size:1";
t = "new_tab";
q = "close_surface";
"physical:one" = "goto_tab:1";
"physical:two" = "goto_tab:2";
"physical:three" = "goto_tab:3";
"physical:four" = "goto_tab:4";
"physical:five" = "goto_tab:5";
"physical:six" = "goto_tab:6";
"physical:seven" = "goto_tab:7";
"physical:eight" = "goto_tab:8";
"physical:nine" = "goto_tab:9";
"physical:zero" = "goto_tab:10";
}) // (mapAttrs' (name: nameValuePair "ctrl+${name}") {
"physical:tab" = "next_tab";
"shift+physical:tab" = "previous_tab";
});
# Disabled here as Nushell isn't supported and Nushell enables it in its own config.
shellIntegration = disabled;
settings = with config.theme; {
font-size = font.size.normal;
font-family = font.mono.name;
window-padding-x = padding;
window-padding-y = padding;
confirm-close-surface = false;
window-decoration = false;
config-file = [
(toString (pkgs.writeText "base16-config" ghosttyConfig))
];
};
};
}

View file

@ -205,5 +205,5 @@
yaml-language-server yaml-language-server
# ZIG # ZIG
zls # zls
])) ]))

View file

@ -39,18 +39,18 @@ in desktopSystemConfiguration {
enableXdgAutostart = true; enableXdgAutostart = true;
}; };
plugins = with pkgs; [ hyprcursors ]; # plugins = with pkgs; [ hyprcursors ];
settings.plugin.dynamic-cursors = { # settings.plugin.dynamic-cursors = {
mode = "rotate"; # mode = "rotate";
shake = { # shake = {
threshold = 3; # threshold = 3;
effects = true; # effects = true;
nearest = false; # nearest = false;
}; # };
}; # };
settings = { settings = {
monitor = [ ", preferred, auto, 1" ]; monitor = [ ", preferred, auto, 1" ];

View file

@ -29,7 +29,6 @@
"flakes" "flakes"
"nix-command" "nix-command"
"recursive-nix" "recursive-nix"
"repl-flake"
]; ];
accept-flake-config = true; accept-flake-config = true;

View file

@ -26,34 +26,34 @@
])) ]))
(desktopSystemPackages (with pkgs; [ (desktopSystemPackages (with pkgs; [
clang_16 # clang_16
clang-tools_16 # clang-tools_16
deno deno
gh gh
go # go
jdk # jdk
lld lld
maven # maven
vlang # vlang
zig # zig
wine # wine
])) ]))
(desktopUserHomePackages (with pkgs; [ (desktopUserHomePackages (with pkgs; [
element-desktop element-desktop
fractal fractal
whatsapp-for-linux # whatsapp-for-linux
zulip # zulip
qbittorrent qbittorrent
thunderbird thunderbird
krita # krita
obs-studio obs-studio
libreoffice # libreoffice
hunspellDicts.en_US # hunspellDicts.en_US
hunspellDicts.en_GB-ize # hunspellDicts.en_GB-ize
])) ]))

View file

@ -2,7 +2,6 @@
desktopSystemConfiguration { desktopSystemConfiguration {
security.rtkit = enabled; security.rtkit = enabled;
sound = enabled;
services.pipewire = enabled { services.pipewire = enabled {
alsa = enabled { support32Bit = true; }; alsa = enabled { support32Bit = true; };

View file

@ -1,19 +1,19 @@
{ lib, pkgs, themes, ... }: { { lib, pkgs, themes, ... }: {
options.theme = lib.mkValue (themes.custom (themes.raw.gruvbox-dark-hard // { options.theme = lib.mkValue (themes.custom (themes.raw.gruvbox-dark-hard // {
cornerRadius = 8; cornerRadius = 0;
borderWidth = 2; borderWidth = 4;
margin = 8; margin = 8;
padding = 8; padding = 8;
font.size.normal = 16; font.size.normal = 32;
font.size.big = 20; font.size.big = 40;
font.sans.name = "Lexend"; font.sans.name = "Lexend";
font.sans.package = pkgs.lexend; font.sans.package = pkgs.lexend;
font.mono.name = "JetBrainsMono Nerd Font"; font.mono.name = "JetBrainsMono Nerd Font";
font.mono.package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }); font.mono.package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono"]; };
icons.name = "Gruvbox-Plus-Dark"; icons.name = "Gruvbox-Plus-Dark";
icons.package = pkgs.gruvbox-plus-icons; icons.package = pkgs.gruvbox-plus-icons;

View file

@ -36,6 +36,9 @@ with import ./keys.nix; {
"hosts/nine/github2forgejo/environment.age".publicKeys = [ nine ] ++ admins; "hosts/nine/github2forgejo/environment.age".publicKeys = [ nine ] ++ admins;
# pala
"hosts/pala/password.said.age".publicKeys = admins;
# shared # shared
"modules/ssh/config.age".publicKeys = all; "modules/ssh/config.age".publicKeys = all;
"modules/restic/password.age".publicKeys = all; "modules/restic/password.age".publicKeys = all;