fixes and formatting

This commit is contained in:
Henry Hiles 2025-09-23 09:17:26 -04:00
commit 80cf48f1e8
No known key found for this signature in database
71 changed files with 746 additions and 1110 deletions

View file

@ -4,16 +4,17 @@
crossPkgs,
lib,
...
}: {
}:
{
imports = [
(_:
import
"${inputs.sdm845}/nixos/profiles/boot/kernel/sdm845-mainline"
{
(
_:
import "${inputs.sdm845}/nixos/profiles/boot/kernel/sdm845-mainline" {
inherit lib config;
pkgs = crossPkgs;
inputs = inputs.sdm845.inputs;
})
}
)
];
boot.initrd.allowMissingModules = true;

View file

@ -1,10 +1,10 @@
{
boot.binfmt.emulatedSystems = ["aarch64-linux"];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nixpkgs.overlays = [
(_: super: {
# Because of https://github.com/NixOS/nixpkgs/pull/378579
qemu = super.qemu.overrideAttrs (old: {
patches = (old.patches or []) ++ [./qemu.patch];
patches = (old.patches or [ ]) ++ [ ./qemu.patch ];
});
})
];

View file

@ -7,15 +7,23 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/7d01741d-d58f-49d4-b3a2-4d37d953873d";
@ -27,7 +35,7 @@
fsType = "vfat";
};
swapDevices = [];
swapDevices = [ ];
# 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

View file

@ -2,14 +2,19 @@
pkgs,
lib,
...
}: let
}:
let
setvcp = "${lib.meta.getExe pkgs.ddcutil} setvcp D6";
in {
in
{
hardware.i2c.enable = true;
systemd.services = {
monitor-off = rec {
script = "${setvcp} 05";
wantedBy = ["sleep.target" "final.target"];
wantedBy = [
"sleep.target"
"final.target"
];
before = wantedBy;
serviceConfig.Type = "oneshot";
@ -18,7 +23,10 @@ in {
monitor-on = rec {
script = "${setvcp} 01";
wantedBy = ["sleep.target" "multi-user.target"];
wantedBy = [
"sleep.target"
"multi-user.target"
];
after = wantedBy;
};
};

View file

@ -2,10 +2,14 @@
pkgs,
config,
...
}: {
boot.blacklistedKernelModules = ["xpad"];
boot.extraModulePackages = [config.boot.kernelPackages.hid-tmff2];
}:
{
boot.blacklistedKernelModules = [ "xpad" ];
boot.extraModulePackages = [ config.boot.kernelPackages.hid-tmff2 ];
environment.systemPackages = with pkgs; [oversteer linuxConsoleTools];
services.udev.packages = [pkgs.oversteer];
environment.systemPackages = with pkgs; [
oversteer
linuxConsoleTools
];
services.udev.packages = [ pkgs.oversteer ];
}

View file

@ -1,36 +1,39 @@
{config, ...}: {
services = let
domain = "dav.henryhiles.com";
in {
davis = {
enable = true;
hostname = domain;
appSecretFile = config.age.secrets."davSecret.age".path;
adminPasswordFile = config.age.secrets."davPassword.age".path;
{ config, ... }:
{
services =
let
domain = "dav.henryhiles.com";
in
{
davis = {
enable = true;
hostname = domain;
appSecretFile = config.age.secrets."davSecret.age".path;
adminPasswordFile = config.age.secrets."davPassword.age".path;
poolConfig = with config.services.caddy; {
"listen.owner" = user;
"listen.group" = group;
poolConfig = with config.services.caddy; {
"listen.owner" = user;
"listen.group" = group;
};
nginx = null;
};
nginx = null;
caddy.virtualHosts."${domain}".extraConfig = ''
encode zstd gzip
header {
-Server
-X-Powered-By
Strict-Transport-Security max-age=31536000;
X-Content-Type-Options nosniff
Referrer-Policy no-referrer-when-downgrade
}
root * ${config.services.davis.package}/public
php_fastcgi unix/${config.services.phpfpm.pools.davis.socket}
file_server
redir /.well-known/carddav /dav/ 301
redir /.well-known/caldav /dav/ 301
'';
};
caddy.virtualHosts."${domain}".extraConfig = ''
encode zstd gzip
header {
-Server
-X-Powered-By
Strict-Transport-Security max-age=31536000;
X-Content-Type-Options nosniff
Referrer-Policy no-referrer-when-downgrade
}
root * ${config.services.davis.package}/public
php_fastcgi unix/${config.services.phpfpm.pools.davis.socket}
file_server
redir /.well-known/carddav /dav/ 301
redir /.well-known/caldav /dav/ 301
'';
};
}

View file

@ -47,16 +47,13 @@ in
enableNginx = false;
redis.createLocally = true;
postgresql.createLocally = true;
backendPackage = inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs.overrideAttrs {
backendPackage = pkgs.lasuite-docs.overrideAttrs {
patches = [ ./enable-languages.patch ];
};
collaborationServer.package =
inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs-collaboration-server;
frontendPackage =
inputs.nixpkgs-lasuite.legacyPackages.${pkgs.system}.lasuite-docs-frontend.overrideAttrs
{
NEXT_PUBLIC_PUBLISH_AS_MIT = "false";
};
collaborationServer.package = pkgs.lasuite-docs-collaboration-server;
frontendPackage = pkgs.lasuite-docs-frontend.overrideAttrs {
NEXT_PUBLIC_PUBLISH_AS_MIT = "false";
};
bind = "unix:${socket}";
inherit s3Url domain;

View file

@ -2,53 +2,56 @@
pkgs,
config,
...
}: {
networking.firewall.allowedTCPPorts = [22];
services = let
domain = "git.federated.nexus";
socket = "/run/forgejo/socket";
in {
forgejo = {
enable = true;
package = pkgs.forgejo; # Not LTS
settings = {
service = {
ENABLE_INTERNAL_SIGNIN = false;
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
}:
{
networking.firewall.allowedTCPPorts = [ 22 ];
services =
let
domain = "git.federated.nexus";
socket = "/run/forgejo/socket";
in
{
forgejo = {
enable = true;
package = pkgs.forgejo; # Not LTS
settings = {
service = {
ENABLE_INTERNAL_SIGNIN = false;
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
};
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
repository.GO_GET_CLONE_URL_PROTOCOL = "ssh";
actions.DEFAULT_ACTIONS_URL = "github";
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}";
HTTP_ADDR = socket;
PROTOCOL = "http+unix";
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
LANDING_PAGE = "explore";
};
federation.enable = true;
};
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
repository.GO_GET_CLONE_URL_PROTOCOL = "ssh";
actions.DEFAULT_ACTIONS_URL = "github";
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}";
HTTP_ADDR = socket;
PROTOCOL = "http+unix";
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
LANDING_PAGE = "explore";
};
federation.enable = true;
};
caddy.virtualHosts."${domain}".extraConfig = ''
respond /robots.txt <<EOF
User-agent: *
Disallow: /*/*/archive/
Disallow: /*/*/src/commit
EOF 200
reverse_proxy unix/${socket}
'';
};
caddy.virtualHosts."${domain}".extraConfig = ''
respond /robots.txt <<EOF
User-agent: *
Disallow: /*/*/archive/
Disallow: /*/*/src/commit
EOF 200
reverse_proxy unix/${socket}
'';
};
systemd.sockets.forgejo = {
requiredBy = ["forgejo.service"];
wantedBy = ["sockets.target"];
requiredBy = [ "forgejo.service" ];
wantedBy = [ "sockets.target" ];
listenStreams = [
(toString config.services.forgejo.settings.server.SSH_PORT)

View file

@ -1,25 +1,28 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
services.caddy.virtualHosts."app.federated.nexus".extraConfig = ''
root ${pkgs.cinny.override {
conf = {
defaultHomeserver = 0;
homeserverList = ["federated.nexus"];
allowCustomHomeservers = false;
};
# cinny-unwrapped = pkgs.cinny-unwrapped.overrideAttrs (old: rec {
# src = pkgs.fetchFromGitHub {
# owner = "GigiaJ";
# repo = "cinny";
# rev = "a299e9c4cb4df1a3b732fdfddb1297170251a10d";
# hash = "sha256-EDsDVOlaYT0S30Cml+t71U7OOKkfcE4aJxwE8iTdV3s=";
# };
# npmDeps = pkgs.fetchNpmDeps {
# inherit src;
# name = "${old.pname}-${old.version}-npm-deps";
# hash = "sha256-k8eCQO1uIpoKpLHO3E3EYWbQSjcAya2AxngA9mvSfns=";
# };
# });
}}
root ${
pkgs.cinny.override {
conf = {
defaultHomeserver = 0;
homeserverList = [ "federated.nexus" ];
allowCustomHomeservers = false;
};
# cinny-unwrapped = pkgs.cinny-unwrapped.overrideAttrs (old: rec {
# src = pkgs.fetchFromGitHub {
# owner = "GigiaJ";
# repo = "cinny";
# rev = "a299e9c4cb4df1a3b732fdfddb1297170251a10d";
# hash = "sha256-EDsDVOlaYT0S30Cml+t71U7OOKkfcE4aJxwE8iTdV3s=";
# };
# npmDeps = pkgs.fetchNpmDeps {
# inherit src;
# name = "${old.pname}-${old.version}-npm-deps";
# hash = "sha256-k8eCQO1uIpoKpLHO3E3EYWbQSjcAya2AxngA9mvSfns=";
# };
# });
}
}
try_files {path} {path}/ /index.html
file_server
'';

View file

@ -3,40 +3,43 @@
pkgs,
lib,
...
}: {
}:
{
systemd.services.continuwuity.serviceConfig.Restart = lib.mkForce "always";
services = let
domain = "federated.nexus";
subdomain = "matrix.${domain}";
socket = "/var/run/continuwuity/continuwuity.sock";
in {
matrix-continuwuity = {
enable = true;
package = inputs.nixpkgs-continuwuity.legacyPackages.${pkgs.system}.matrix-continuwuity;
group = "caddy";
settings.global = {
server_name = domain;
unix_socket_path = socket;
new_user_displayname_suffix = "";
allow_public_room_directory_over_federation = true;
trusted_servers = [
"matrix.org"
"tchncs.de"
"maunium.net"
];
ignore_messages_from_server_names = [];
url_preview_domain_explicit_allowlist = ["*"];
services =
let
domain = "federated.nexus";
subdomain = "matrix.${domain}";
socket = "/var/run/continuwuity/continuwuity.sock";
in
{
matrix-continuwuity = {
enable = true;
package = inputs.nixpkgs-continuwuity.legacyPackages.${pkgs.system}.matrix-continuwuity;
group = "caddy";
settings.global = {
server_name = domain;
unix_socket_path = socket;
new_user_displayname_suffix = "";
allow_public_room_directory_over_federation = true;
trusted_servers = [
"matrix.org"
"tchncs.de"
"maunium.net"
];
ignore_messages_from_server_names = [ ];
url_preview_domain_explicit_allowlist = [ "*" ];
well_known = {
client = "https://${subdomain}";
server = "${subdomain}:443";
support_email = "henry@henryhiles.com";
support_mxid = "@quadradical:${domain}";
well_known = {
client = "https://${subdomain}";
server = "${subdomain}:443";
support_email = "henry@henryhiles.com";
support_mxid = "@quadradical:${domain}";
};
};
};
};
caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}";
};
caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}";
};
}

View file

@ -2,17 +2,18 @@
config,
pkgs,
...
}: {
}:
{
services = {
redlib = {
enable = true;
package = pkgs.redlib.overrideAttrs (oldAttrs: {
doCheck = false;
src = pkgs.fetchFromGitHub {
owner = "chowder";
owner = "redlib-org";
repo = "redlib";
rev = "47ef6a06d47416559609c385d5234d155938f3e3";
hash = "sha256-gsgWqVOUizSYFjSg9x+dG1VRWabvjpuCGjaG94q1cQY=";
rev = "a989d19ca92713878e9a20dead4252f266dc4936";
hash = "sha256-YJZVkCi8JQ1U47s52iOSyyf32S3b35pEqw4YTW8FHVY=";
};
});
@ -21,7 +22,9 @@
settings.REDLIB_DEFAULT_THEME = "nord";
};
caddy.authedHosts."redlib.federated.nexus" = with config.services.redlib; "reverse_proxy ${address}:${toString port}";
caddy.authedHosts."redlib.federated.nexus" =
with config.services.redlib;
"reverse_proxy ${address}:${toString port}";
};
systemd.services.redlib.serviceConfig.Restart = "always";

View file

@ -1 +1 @@
{time.timeZone = "America/Toronto";}
{ time.timeZone = "America/Toronto"; }

View file

@ -1,17 +1,21 @@
{config, ...}: {
services = let
domain = "vault.henryhiles.com";
in {
vaultwarden = {
enable = true;
config = {
domain = "https://${domain}";
signupsAllowed = false;
passwordHintsAllowed = false;
rocketAddress = "127.0.0.2";
{ config, ... }:
{
services =
let
domain = "vault.henryhiles.com";
in
{
vaultwarden = {
enable = true;
config = {
domain = "https://${domain}";
signupsAllowed = false;
passwordHintsAllowed = false;
rocketAddress = "127.0.0.2";
};
};
};
caddy.virtualHosts."${domain}".extraConfig = "reverse_proxy ${config.services.vaultwarden.config.rocketAddress}:8000";
};
caddy.virtualHosts."${domain}".extraConfig =
"reverse_proxy ${config.services.vaultwarden.config.rocketAddress}:8000";
};
}

View file

@ -7,18 +7,26 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod"];
kernelModules = [];
availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
kernelModules = [ ];
};
kernelModules = ["kvm-intel"];
extraModulePackages = [];
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems."/" = {
@ -31,7 +39,7 @@
fsType = "vfat";
};
swapDevices = [];
swapDevices = [ ];
# 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

View file

@ -1,5 +1,5 @@
{
services.xserver.videoDrivers = ["nvidia"];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
prime = {
offload = {

655
flake.lock generated
View file

@ -127,30 +127,6 @@
"type": "github"
}
},
"attic": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1756403898,
"narHash": "sha256-S4SJDmVTtbcXaJkYrMFkcA5SDrpfRHlBbzwp6IRRPAw=",
"owner": "zhaofengli",
"repo": "attic",
"rev": "2524dd1c007bc7a0a9e9c863a1b02de8d54b319b",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"ref": "main",
"repo": "attic",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -234,68 +210,6 @@
}
},
"cachix": {
"inputs": {
"devenv": "devenv",
"flake-compat": "flake-compat_3",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1756385612,
"narHash": "sha256-+NU5MMhuPHHRyvZZWNFG7zt+leRSPsJu1MwhOUzkPUk=",
"owner": "cachix",
"repo": "cachix",
"rev": "dc24688cd67518c3711d511fa369c0f5a131063a",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "master",
"repo": "cachix",
"type": "github"
}
},
"cachix_2": {
"inputs": {
"devenv": [
"continuwuity",
"cachix",
"devenv"
],
"flake-compat": [
"continuwuity",
"cachix",
"devenv"
],
"git-hooks": [
"continuwuity",
"cachix",
"devenv",
"git-hooks"
],
"nixpkgs": [
"continuwuity",
"cachix",
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748883665,
"narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=",
"owner": "cachix",
"repo": "cachix",
"rev": "f707778d902af4d62d8dd92c269f8e70de09acbe",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "latest",
"repo": "cachix",
"type": "github"
}
},
"cachix_3": {
"inputs": {
"devenv": [
"sdm845",
@ -411,30 +325,6 @@
"type": "github"
}
},
"continuwuity": {
"inputs": {
"attic": "attic",
"cachix": "cachix",
"crane": "crane_2",
"fenix": "fenix",
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_2",
"nix-filter": "nix-filter",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1758231451,
"narHash": "sha256-/MFeLIHRdFsMmv3qT6G5K9o5gWg4e4vD1CAnfqenX9o=",
"path": "/home/quadradical/Documents/Code/continuwuity",
"type": "path"
},
"original": {
"path": "/home/quadradical/Documents/Code/continuwuity",
"type": "path"
}
},
"crane": {
"locked": {
"lastModified": 1751562746,
@ -450,37 +340,6 @@
"type": "github"
}
},
"crane_2": {
"locked": {
"lastModified": 1757183466,
"narHash": "sha256-kTdCCMuRE+/HNHES5JYsbRHmgtr+l9mOtf5dpcMppVc=",
"owner": "ipetkov",
"repo": "crane",
"rev": "d599ae4847e7f87603e7082d73ca673aa93c916d",
"type": "github"
},
"original": {
"owner": "ipetkov",
"ref": "master",
"repo": "crane",
"type": "github"
}
},
"crane_3": {
"locked": {
"lastModified": 1751562746,
"narHash": "sha256-smpugNIkmDeicNz301Ll1bD7nFOty97T79m4GUMUczA=",
"owner": "ipetkov",
"repo": "crane",
"rev": "aed2020fd3dc26e1e857d4107a5a67a33ab6c1fd",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"crate2nix": {
"inputs": {
"cachix": [
@ -581,40 +440,6 @@
"type": "github"
}
},
"devenv": {
"inputs": {
"cachix": "cachix_2",
"flake-compat": [
"continuwuity",
"cachix",
"flake-compat"
],
"git-hooks": [
"continuwuity",
"cachix",
"git-hooks"
],
"nix": "nix",
"nixpkgs": [
"continuwuity",
"cachix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754404745,
"narHash": "sha256-BdbW/iTImczgcuATgQIa9sPGuYIBxVq2xqcvICsa2AQ=",
"owner": "cachix",
"repo": "devenv",
"rev": "6563b21105168f90394dfaf58284b078af2d7275",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devshell": {
"locked": {
"lastModified": 1642188268,
@ -658,11 +483,11 @@
]
},
"locked": {
"lastModified": 1757508292,
"narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=",
"lastModified": 1758287904,
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
"owner": "nix-community",
"repo": "disko",
"rev": "146f45bee02b8bd88812cfce6ffc0f933788875a",
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
"type": "github"
},
"original": {
@ -718,35 +543,12 @@
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"continuwuity",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1757400094,
"narHash": "sha256-5Rcs6juMoMTaMJSR1glravl4QB9yLAFBD8s7KLi4kdQ=",
"owner": "nix-community",
"repo": "fenix",
"rev": "0682b9b518792c9428865c511a4c40c9ad85c243",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "main",
"repo": "fenix",
"type": "github"
}
},
"fenix_2": {
"inputs": {
"nixpkgs": [
"sdm845",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src_2"
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1752302273,
@ -765,11 +567,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1756083905,
"narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
"lastModified": 1758112371,
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
"type": "github"
},
"original": {
@ -812,11 +614,11 @@
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1641205782,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
"type": "github"
},
"original": {
@ -841,102 +643,7 @@
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"ref": "master",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1641205782,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_6": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"continuwuity",
"attic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"continuwuity",
"cachix",
"devenv",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
@ -954,7 +661,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
@ -972,7 +679,7 @@
"type": "github"
}
},
"flake-parts_5": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
@ -990,7 +697,7 @@
"type": "github"
}
},
"flake-parts_6": {
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_4"
},
@ -1008,7 +715,7 @@
"type": "github"
}
},
"flake-parts_7": {
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"sdm845",
@ -1029,7 +736,7 @@
"type": "github"
}
},
"flake-parts_8": {
"flake-parts_6": {
"inputs": {
"nixpkgs-lib": [
"stylix",
@ -1118,30 +825,11 @@
},
"original": {
"owner": "numtide",
"ref": "main",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": [
"sdm845",
@ -1223,34 +911,6 @@
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"continuwuity",
"cachix",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"continuwuity",
"cachix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks-nix": {
"inputs": {
"flake-compat": [
@ -1280,29 +940,6 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"continuwuity",
"cachix",
"git-hooks",
"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-nix": {
"inputs": {
"nixpkgs": [
@ -1405,11 +1042,11 @@
]
},
"locked": {
"lastModified": 1757809953,
"narHash": "sha256-29mlXbfAJhz9cWVrPP4STvVPDVZFCfCOmaIN5lFJa+Y=",
"lastModified": 1758545873,
"narHash": "sha256-0VP5cVd6DyibHNPC/IJ5Ut+KuNYUeKmr5ltzf+IcpjA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "17a10049486f6698fca32097d8f52c0c895542b0",
"rev": "de5369834ff1f75246c46be89ef993392e961c26",
"type": "github"
},
"original": {
@ -1582,7 +1219,7 @@
},
"lasuite-docs-proxy": {
"inputs": {
"flake-parts": "flake-parts_4",
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
]
@ -1652,7 +1289,7 @@
},
"matrixoidc": {
"inputs": {
"flake-parts": "flake-parts_5",
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
]
@ -1847,7 +1484,7 @@
},
"nexusbot": {
"inputs": {
"flake-parts": "flake-parts_6",
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
]
@ -1914,53 +1551,6 @@
"type": "github"
}
},
"nix": {
"inputs": {
"flake-compat": [
"continuwuity",
"cachix",
"devenv",
"flake-compat"
],
"flake-parts": "flake-parts_2",
"git-hooks-nix": [
"continuwuity",
"cachix",
"devenv",
"git-hooks"
],
"nixpkgs": [
"continuwuity",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-23-11": [
"continuwuity",
"cachix",
"devenv"
],
"nixpkgs-regression": [
"continuwuity",
"cachix",
"devenv"
]
},
"locked": {
"lastModified": 1752773918,
"narHash": "sha256-dOi/M6yNeuJlj88exI+7k154z+hAhFcuB8tZktiW7rg=",
"owner": "cachix",
"repo": "nix",
"rev": "031c3cf42d2e9391eee373507d8c12e0f9606779",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "devenv-2.30",
"repo": "nix",
"type": "github"
}
},
"nix-alien": {
"inputs": {
"flake-compat": [
@ -1991,22 +1581,6 @@
}
},
"nix-filter": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
"type": "github"
},
"original": {
"owner": "numtide",
"ref": "main",
"repo": "nix-filter",
"type": "github"
}
},
"nix-filter_2": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
@ -2071,28 +1645,6 @@
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"continuwuity",
"attic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737420293,
"narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-github-actions_2": {
"inputs": {
"nixpkgs": [
"run0-sudo-shim",
@ -2113,7 +1665,7 @@
"type": "github"
}
},
"nix-github-actions_3": {
"nix-github-actions_2": {
"inputs": {
"nixpkgs": [
"sdm845",
@ -2157,11 +1709,11 @@
},
"nix-maid": {
"locked": {
"lastModified": 1757070786,
"narHash": "sha256-CD5lOndYyqeGWaH4MD/z5ZFMdcCzOudfuOdMw4MyVRk=",
"lastModified": 1758537560,
"narHash": "sha256-eBG2JQoBaEKoEW/Gqe2BytcQsf72K1v7JdwsTMhs1Rc=",
"owner": "viperML",
"repo": "nix-maid",
"rev": "e4682858e1643653e888d2555ef67a603374f0b9",
"rev": "d0f3b414df7515a20a0c711b00c0091af76b83ca",
"type": "github"
},
"original": {
@ -2173,7 +1725,7 @@
"nix-matrix-appservices": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_5",
"flake-compat": "flake-compat_2",
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
@ -2416,16 +1968,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1751949589,
"narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=",
"owner": "NixOS",
"lastModified": 1758277210,
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9b008d60392981ad674e04016d25619281550a9d",
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -2446,18 +1998,18 @@
"type": "github"
}
},
"nixpkgs-lasuite": {
"nixpkgs-continuwuity": {
"locked": {
"lastModified": 1757797355,
"narHash": "sha256-LXaQB8zGpk8navUjQkyJq6wg7PWy2Tbh2wIyq25f3aU=",
"owner": "Henry-Hiles",
"lastModified": 1758508970,
"narHash": "sha256-uB/l48bwKtK+jnOD73xlYjYJqaFgqVPgIK/WHiHooZs=",
"owner": "savyajha",
"repo": "nixpkgs",
"rev": "c112711203311c8ca77ed6c31ea7f3fd57fcdd80",
"rev": "4b5ac6c684fefe8a332537b388d26eb6b8da3020",
"type": "github"
},
"original": {
"owner": "Henry-Hiles",
"ref": "bump-lasuite",
"owner": "savyajha",
"ref": "continuwuity",
"repo": "nixpkgs",
"type": "github"
}
@ -2555,22 +2107,6 @@
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1751741127,
"narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "29e290002bfff26af1db6f64d070698019460302",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1752162966,
"narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
@ -2602,38 +2138,6 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1754214453,
"narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
@ -2695,11 +2199,11 @@
]
},
"locked": {
"lastModified": 1750514805,
"narHash": "sha256-BcHbwm7cVfxb0ocicnn21PNE7ijyLlUZk1utzrR06Ys=",
"lastModified": 1758564854,
"narHash": "sha256-L4PAVBG994fWuN0ORTSffMGWTF0qYpZQ+Gy66TmkRmM=",
"ref": "refs/heads/master",
"rev": "1bf1950bdea07f72b699ac105800f5bb437a70fd",
"revCount": 15,
"rev": "86b52a9ff6ac404d841f900d1ab4d4471ff6ca7d",
"revCount": 19,
"type": "git",
"url": "https://cgit.rory.gay/nix/OOYE-module.git"
},
@ -2877,10 +2381,9 @@
"inputs": {
"agenix": "agenix",
"agenix-cli": "agenix-cli",
"continuwuity": "continuwuity",
"disko": "disko",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_3",
"flake-parts": "flake-parts",
"gnome-mobile": "gnome-mobile",
"home-manager": "home-manager_2",
"lasuite-docs-proxy": "lasuite-docs-proxy",
@ -2888,8 +2391,8 @@
"nexusbot": "nexusbot",
"nix-maid": "nix-maid",
"nix-matrix-appservices": "nix-matrix-appservices",
"nixpkgs": "nixpkgs_3",
"nixpkgs-lasuite": "nixpkgs-lasuite",
"nixpkgs": "nixpkgs",
"nixpkgs-continuwuity": "nixpkgs-continuwuity",
"ooye": "ooye",
"run0-sudo-shim": "run0-sudo-shim",
"sdm845": "sdm845",
@ -2899,8 +2402,8 @@
},
"run0-sudo-shim": {
"inputs": {
"flake-utils": "flake-utils_3",
"nix-github-actions": "nix-github-actions_2",
"flake-utils": "flake-utils_2",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"nixpkgs"
],
@ -2922,23 +2425,6 @@
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1757362324,
"narHash": "sha256-/PAhxheUq4WBrW5i/JHzcCqK5fGWwLKdH6/Lu1tyS18=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "9edc9cbe5d8e832b5864e09854fa94861697d2fd",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-analyzer-src_2": {
"flake": false,
"locked": {
"lastModified": 1752262373,
@ -3002,20 +2488,20 @@
"ace-bot": "ace-bot",
"angrr": "angrr",
"blank": "blank",
"cachix": "cachix_3",
"cachix": "cachix",
"commit-notifier": "commit-notifier",
"conf2nix": "conf2nix",
"crane": "crane_3",
"crane": "crane",
"crate2nix": "crate2nix",
"deploy-rs": "deploy-rs",
"devshell": "devshell_2",
"disko": "disko_2",
"emacs-overlay": "emacs-overlay",
"fenix": "fenix_2",
"flake-compat": "flake-compat_6",
"flake-parts": "flake-parts_7",
"fenix": "fenix",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_5",
"flake-schemas": "flake-schemas",
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_3",
"flake-utils-plus": "flake-utils-plus",
"flat-flake": "flat-flake",
"git-hooks-nix": "git-hooks-nix",
@ -3034,9 +2520,9 @@
"naersk": "naersk",
"niri-flake": "niri-flake",
"nix-alien": "nix-alien",
"nix-filter": "nix-filter_2",
"nix-filter": "nix-filter",
"nix-gc-s3": "nix-gc-s3",
"nix-github-actions": "nix-github-actions_3",
"nix-github-actions": "nix-github-actions_2",
"nix-index-database": "nix-index-database",
"nix-topology": "nix-topology",
"nixago": "nixago",
@ -3051,7 +2537,7 @@
],
"nixpkgs-latest": "nixpkgs-latest",
"nixpkgs-riscv": "nixpkgs-riscv",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
"nvfetcher": "nvfetcher",
"oranc": "oranc",
@ -3062,7 +2548,7 @@
"preservation": "preservation",
"rust-overlay": "rust-overlay_2",
"sops-nix": "sops-nix",
"systems": "systems_5",
"systems": "systems_4",
"treefmt-nix": "treefmt-nix_2",
"weird-deployer": "weird-deployer"
},
@ -3108,13 +2594,13 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme_2",
"flake-parts": "flake-parts_8",
"flake-parts": "flake-parts_6",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_6",
"systems": "systems_5",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@ -3122,11 +2608,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1757360005,
"narHash": "sha256-VwzdFEQCpYMU9mc7BSQGQe5wA1MuTYPJnRc9TQCTMcM=",
"lastModified": 1757956156,
"narHash": "sha256-f0W7qbsCqpi6swQ5w8H+0YrAbNwsHgCFDkNRMTJjqrE=",
"owner": "danth",
"repo": "stylix",
"rev": "834a743c11d66ea18e8c54872fbcc72ce48bc57f",
"rev": "0ce0103b498bb22f899ed8862d8d7f9503ed9cdb",
"type": "github"
},
"original": {
@ -3210,21 +2696,6 @@
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {

127
flake.nix
View file

@ -60,44 +60,49 @@
};
};
outputs = inputs: let
lib = inputs.nixpkgs.lib;
dirUtils = {
opt = lib.optionals;
dirFiles = type: dir: lib.filter (lib.hasSuffix type) (lib.filesystem.listFilesRecursive dir);
};
system = info:
lib.nixosSystem {
inherit (info) system;
specialArgs = {
inherit inputs dirUtils;
inherit (info) type;
outputs =
inputs:
let
lib = inputs.nixpkgs.lib;
dirUtils = {
opt = lib.optionals;
dirFiles = type: dir: lib.filter (lib.hasSuffix type) (lib.filesystem.listFilesRecursive dir);
};
system =
info:
lib.nixosSystem {
inherit (info) system;
specialArgs = {
inherit inputs dirUtils;
inherit (info) type;
crossPkgs = import inputs.nixpkgs {
hostPlatform = info.system;
localSystem = info.system;
buildPlatform = "x86_64-linux";
crossPkgs = import inputs.nixpkgs {
hostPlatform = info.system;
localSystem = info.system;
buildPlatform = "x86_64-linux";
overlays = let
path = ./cross-overlays/${info.hostname};
in
dirUtils.opt (builtins.pathExists path) (
map (file: import file inputs) (lib.filesystem.listFilesRecursive path)
);
overlays =
let
path = ./cross-overlays/${info.hostname};
in
dirUtils.opt (builtins.pathExists path) (
map (file: import file inputs) (lib.filesystem.listFilesRecursive path)
);
config.permittedInsecurePackages = [
"libsoup-2.74.3"
];
config.permittedInsecurePackages = [
"libsoup-2.74.3"
];
};
};
};
modules = let
clientPath = ./clients/${info.hostname};
in
with dirUtils;
modules =
let
clientPath = ./clients/${info.hostname};
in
with dirUtils;
[
./wrappers/default.nix
{networking.hostName = info.hostname;}
{ networking.hostName = info.hostname; }
inputs.agenix.nixosModules.default
inputs.run0-sudo-shim.nixosModules.default
]
@ -113,29 +118,31 @@
./stylix.nix
]
);
};
in
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
};
in
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"aarch64-linux"
"x86_64-linux"
];
perSystem = {pkgs, ...}: {
apps.image = {
type = "app";
program = pkgs.writeShellApplication {
name = "image";
runtimeInputs = with pkgs; [nix-output-monitor];
text = "nom build .#nixosConfigurations.\"$1\".config.system.build.image";
perSystem =
{ pkgs, ... }:
{
apps.image = {
type = "app";
program = pkgs.writeShellApplication {
name = "image";
runtimeInputs = with pkgs; [ nix-output-monitor ];
text = "nom build .#nixosConfigurations.\"$1\".config.system.build.image";
};
};
};
};
flake.nixosConfigurations =
builtins.mapAttrs
(
name: value:
(
name: value:
system (
{
system = "x86_64-linux";
@ -144,22 +151,22 @@
}
// value
)
)
{
"quadraticpc".type = "desktop";
"quadtop".type = "desktop";
"quadraticserver" = {
type = "server";
graphical = false;
)
{
"quadraticpc".type = "desktop";
"quadtop".type = "desktop";
"quadraticserver" = {
type = "server";
graphical = false;
};
"quadphone" = {
type = "mobile";
system = "aarch64-linux";
};
"everquad" = {
type = "mobile";
system = "aarch64-linux";
};
};
"quadphone" = {
type = "mobile";
system = "aarch64-linux";
};
"everquad" = {
type = "mobile";
system = "aarch64-linux";
};
};
};
}

View file

@ -2,17 +2,16 @@
inputs,
dirUtils,
...
}: {
}:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {inherit inputs;};
extraSpecialArgs = { inherit inputs; };
users.quadradical.home = {
username = "quadradical";
homeDirectory = "/home/quadradical";
};
sharedModules =
[{home.stateVersion = "23.11";}]
++ dirUtils.dirFiles ".nix" ./home-manager;
sharedModules = [ { home.stateVersion = "23.11"; } ] ++ dirUtils.dirFiles ".nix" ./home-manager;
};
}

View file

@ -2,14 +2,17 @@
dirUtils,
lib,
...
}: {
}:
{
age = {
identityPaths = [
"/home/quadradical/.ssh/id_ed25519"
];
secrets = lib.listToAttrs (map (path: {
name = lib.last (builtins.split "/" (toString path));
value.file = path;
}) (dirUtils.dirFiles ".age" ../../secrets));
secrets = lib.listToAttrs (
map (path: {
name = lib.last (builtins.split "/" (toString path));
value.file = path;
}) (dirUtils.dirFiles ".age" ../../secrets)
);
};
}

View file

@ -1 +1,4 @@
{inputs, ...}: {environment.etc."backup".source = inputs.self;}
{ inputs, ... }:
{
environment.etc."backup".source = inputs.self;
}

View file

@ -2,4 +2,7 @@
lib,
pkgs,
...
}: {environment.shellAliases.cat = "${lib.getExe pkgs.bat} --theme Nord";}
}:
{
environment.shellAliases.cat = "${lib.getExe pkgs.bat} --theme Nord";
}

View file

@ -2,9 +2,9 @@
services.dnsproxy = {
enable = true;
settings = rec {
upstream = ["https://base.dns.mullvad.net/dns-query"];
listen-addrs = ["127.0.0.1"];
fallback = ["1.1.1.1"];
upstream = [ "https://base.dns.mullvad.net/dns-query" ];
listen-addrs = [ "127.0.0.1" ];
fallback = [ "1.1.1.1" ];
bootstrap = fallback;
};
};

View file

@ -1 +1,6 @@
{nix.settings.experimental-features = ["nix-command" "flakes"];}
{
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
}

View file

@ -2,4 +2,7 @@
lib,
pkgs,
...
}: {environment.shellAliases.ls = "${lib.getExe pkgs.eza} --all --icons --hyperlink --group-directories-first --color=always";}
}:
{
environment.shellAliases.ls = "${lib.getExe pkgs.eza} --all --icons --hyperlink --group-directories-first --color=always";
}

View file

@ -2,97 +2,102 @@
pkgs,
lib,
...
}: {
environment.shellAliases.neofetch = let
color = "#4E94E4";
in "${lib.getExe pkgs.fastfetch} --config ${pkgs.writers.writeJSON "fastfetch.json" {
logo = {
height = 18;
type = "chafa";
source = ../../logo.png;
};
display = {
separator = " ";
color.keys = color;
};
modules = [
"break"
}:
{
environment.shellAliases.neofetch =
let
color = "#4E94E4";
in
"${lib.getExe pkgs.fastfetch} --config ${
pkgs.writers.writeJSON "fastfetch.json" {
logo = {
height = 18;
type = "chafa";
source = ../../logo.png;
};
display = {
separator = " ";
color.keys = color;
};
modules = [
"break"
{
type = "custom";
format = "{#${color}}{#} Hardware Information {#${color}}";
}
{
type = "cpu";
key = "";
}
{
type = "gpu";
key = "󰍹";
}
{
type = "board";
key = "";
}
{
type = "custom";
format = "{#${color}}{#} Hardware Information {#${color}}";
}
{
type = "cpu";
key = "";
}
{
type = "gpu";
key = "󰍹";
}
{
type = "board";
key = "";
}
{
type = "custom";
format = "{#${color}}{#} Software Information {#${color}}";
}
{
type = "os";
key = "";
}
{
type = "kernel";
key = "";
}
{
type = "memory";
key = "";
}
{
type = "disk";
key = "";
}
{
type = "de";
key = "";
}
{
type = "terminal";
key = "󰆍";
}
{
type = "shell";
key = "󰈺";
}
{
type = "font";
key = "";
}
{
type = "wmtheme";
key = "󰉼";
}
{
type = "icons";
key = "";
}
{
type = "cursor";
key = "󰇀";
}
{
type = "packages";
key = "󰏖";
}
{
type = "custom";
format = "{#${color}}";
}
{
type = "custom";
format = "{#${color}}{#} Software Information {#${color}}";
}
{
type = "os";
key = "";
}
{
type = "kernel";
key = "";
}
{
type = "memory";
key = "";
}
{
type = "disk";
key = "";
}
{
type = "de";
key = "";
}
{
type = "terminal";
key = "󰆍";
}
{
type = "shell";
key = "󰈺";
}
{
type = "font";
key = "";
}
{
type = "wmtheme";
key = "󰉼";
}
{
type = "icons";
key = "";
}
{
type = "cursor";
key = "󰇀";
}
{
type = "packages";
key = "󰏖";
}
{
type = "custom";
format = "{#${color}}";
}
"break"
];
}}";
"break"
];
}
}";
}

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
programs.fish = {
enable = true;
interactiveShellInit = ''
@ -7,6 +8,6 @@
'';
};
environment.shells = [pkgs.fish];
environment.shells = [ pkgs.fish ];
users.defaultUserShell = pkgs.fish;
}

View file

@ -1 +1,4 @@
{pkgs, ...}: {environment.shellAliases.free = "${pkgs.procps}/bin/free -h";}
{ pkgs, ... }:
{
environment.shellAliases.free = "${pkgs.procps}/bin/free -h";
}

View file

@ -2,7 +2,8 @@
pkgs,
lib,
...
}: {
}:
{
programs.git = {
enable = true;
config = {
@ -12,9 +13,9 @@
signingKey = builtins.elemAt (import ../../secrets/keys.nix) 0;
};
url = {
"git@github.com:".insteadOf = ["https://github.com"];
"git@codeberg.org:".insteadOf = ["https://codeberg.org"];
"git@git.federated.nexus:".insteadOf = ["https://git.federated.nexus"];
"git@github.com:".insteadOf = [ "https://github.com" ];
"git@codeberg.org:".insteadOf = [ "https://codeberg.org" ];
"git@git.federated.nexus:".insteadOf = [ "https://git.federated.nexus" ];
};
init.defaultBranch = "main";
commit.gpgsign = true;
@ -23,16 +24,18 @@
};
};
environment = {
systemPackages = [pkgs.gh];
shellAliases = let
gitExe = lib.meta.getExe pkgs.git;
ghExe = lib.meta.getExe pkgs.gh;
in {
clone = "${ghExe} repo clone";
create = "${ghExe} repo create";
systemPackages = [ pkgs.gh ];
shellAliases =
let
gitExe = lib.meta.getExe pkgs.git;
ghExe = lib.meta.getExe pkgs.gh;
in
{
clone = "${ghExe} repo clone";
create = "${ghExe} repo create";
push = "${gitExe} push";
commit = "${gitExe} commit -am";
};
push = "${gitExe} push";
commit = "${gitExe} commit -am";
};
};
}

View file

@ -1,6 +1,7 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment = {
systemPackages = [pkgs.micro];
systemPackages = [ pkgs.micro ];
sessionVariables.EDITOR = "micro";
};
}

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
fd
glib

View file

@ -1 +1 @@
{system.stateVersion = "23.11";}
{ system.stateVersion = "23.11"; }

View file

@ -1 +1,4 @@
{pkgs, ...}: {environment.shellAliases.rm = "${pkgs.glib}/bin/gio trash";}
{ pkgs, ... }:
{
environment.shellAliases.rm = "${pkgs.glib}/bin/gio trash";
}

View file

@ -1,4 +1,5 @@
{config, ...}: {
{ config, ... }:
{
users = {
mutableUsers = false;
users = {
@ -7,7 +8,7 @@
isNormalUser = true;
hashedPasswordFile = config.age.secrets."password.age".path;
description = "QuadRadical";
extraGroups = ["wheel"];
extraGroups = [ "wheel" ];
};
};
};

View file

@ -1,3 +1,4 @@
{pkgs, ...}: {
services.udev.packages = [pkgs.android-udev-rules];
{ pkgs, ... }:
{
services.udev.packages = [ pkgs.android-udev-rules ];
}

View file

@ -4,6 +4,6 @@
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelParams = ["sysrq_always_enabled=1"];
kernelParams = [ "sysrq_always_enabled=1" ];
};
}

View file

@ -1,6 +1,7 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
fonts = {
packages = with pkgs; [twitter-color-emoji];
fontconfig.defaultFonts.emoji = ["Twitter Color Emoji"];
packages = with pkgs; [ twitter-color-emoji ];
fontconfig.defaultFonts.emoji = [ "Twitter Color Emoji" ];
};
}

View file

@ -1 +1 @@
{environment.etc."launch-rl.bat".source = ./launch-rl.bat;}
{ environment.etc."launch-rl.bat".source = ./launch-rl.bat; }

View file

@ -1,6 +1,7 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment = {
systemPackages = [pkgs.mangohud];
systemPackages = [ pkgs.mangohud ];
sessionVariables.MANGOHUD_CONFIGFILE = ./mangohud.conf;
};
}

View file

@ -1 +1 @@
{programs.noisetorch.enable = true;}
{ programs.noisetorch.enable = true; }

View file

@ -1,7 +1,8 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [obs-pipewire-audio-capture];
plugins = with pkgs.obs-studio-plugins; [ obs-pipewire-audio-capture ];
enableVirtualCamera = true;
};
}

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
gimp
gale

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
services.ratbagd.enable = true;
environment.systemPackages = [pkgs.piper];
environment.systemPackages = [ pkgs.piper ];
}

View file

@ -1,17 +1,20 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
hardware.keyboard.qmk.enable = true;
environment.systemPackages = [
(pkgs.qmk.overrideAttrs (oldAttrs: {
propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or []) ++ [pkgs.python3.pkgs.appdirs];
propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or [ ]) ++ [ pkgs.python3.pkgs.appdirs ];
}))
];
users.users.quadradical.maid.file.xdg_config."qmk/qmk.ini".source = toString ((pkgs.formats.ini {}).generate "qmk.ini" {
user = {
qmk_home = "/home/quadradical/Documents/Code/qmk_firmware";
overlay_dir = "/home/quadradical/Documents/Code/qmk_userspace";
keyboard = "keychron/v1_max/ansi_encoder";
keymap = "default";
};
});
users.users.quadradical.maid.file.xdg_config."qmk/qmk.ini".source = toString (
(pkgs.formats.ini { }).generate "qmk.ini" {
user = {
qmk_home = "/home/quadradical/Documents/Code/qmk_firmware";
overlay_dir = "/home/quadradical/Documents/Code/qmk_userspace";
keyboard = "keychron/v1_max/ansi_encoder";
keymap = "default";
};
}
);
}

View file

@ -1,6 +1,7 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
programs.steam = {
enable = true;
extraCompatPackages = [pkgs.proton-ge-bin];
extraCompatPackages = [ pkgs.proton-ge-bin ];
};
}

View file

@ -1,8 +1,9 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
virtualisation = {
libvirtd.enable = true;
spiceUSBRedirection.enable = true;
};
programs.virt-manager.enable = true;
environment.systemPackages = [pkgs.quickemu];
environment.systemPackages = [ pkgs.quickemu ];
}

View file

@ -2,11 +2,13 @@
lib,
pkgs,
...
}: {
}:
{
environment.systemPackages = with pkgs; [
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-extensions;
vscodeExtensions =
with vscode-extensions;
[
mkhl.direnv
eamodio.gitlens
@ -39,7 +41,7 @@
users.users.quadradical.maid.file.xdg_config = {
"VSCodium/User/settings.json".text = builtins.toJSON {
"arb-editor.suppressedWarnings" = ["missing_metadata_for_key"];
"arb-editor.suppressedWarnings" = [ "missing_metadata_for_key" ];
"dart.debugExternalPackageLibraries" = true;
"dart.debugSdkLibraries" = true;
"redhat.telemetry.enabled" = false;
@ -67,7 +69,7 @@
"window.menuBarVisibility" = "compact";
"git.confirmSync" = false;
"editor.detectIndentation" = false;
"errorLens.enabledDiagnosticLevels" = ["error"];
"errorLens.enabledDiagnosticLevels" = [ "error" ];
"git.mergeEditor" = true;
"terminal.integrated.shellIntegration.enabled" = false;
"gitlens.currentLine.enabled" = false;
@ -101,10 +103,12 @@
"nix.serverPath" = lib.meta.getExe pkgs.nil;
"nix.serverSettings" = {
"nil" = {
"formatting" = {"command" = [(lib.getExe pkgs.nixfmt)];};
"formatting" = {
"command" = [ (lib.getExe pkgs.nixfmt) ];
};
};
};
"indentRainbow.ignoreErrorLanguages" = ["*"];
"indentRainbow.ignoreErrorLanguages" = [ "*" ];
"dart.runPubGetOnPubspecChanges" = "never";
};

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
environment.systemPackages = [pkgs.adw-gtk3];
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.adw-gtk3 ];
users.users.quadradical.maid.gsettings.settings.org.gnome.desktop.interface.gtk-theme = "adw-gtk3";
}

View file

@ -1,10 +1,14 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
fonts = {
packages = with pkgs; [inter nerd-fonts.fira-code];
packages = with pkgs; [
inter
nerd-fonts.fira-code
];
fontconfig.defaultFonts = rec {
serif = ["Inter"];
serif = [ "Inter" ];
sansSerif = serif;
monospace = ["FiraCode Nerd Font"];
monospace = [ "FiraCode Nerd Font" ];
};
};
}

View file

@ -7,7 +7,11 @@
users.users.quadradical.maid.gsettings.settings.org.gnome = {
desktop = {
wm.preferences.focus-mode = "mouse";
search-providers.sort-order = ["org.gnome.Contacts.desktop" "org.gnome.Documents.desktop" "org.gnome.Nautilus.desktop"];
search-providers.sort-order = [
"org.gnome.Contacts.desktop"
"org.gnome.Documents.desktop"
"org.gnome.Nautilus.desktop"
];
background = rec {
picture-uri = "file://${./background.jpg}";
@ -41,11 +45,15 @@
shell = {
remember-mount-password = true;
favorite-apps = ["librewolf.desktop" "org.gnome.Geary.desktop" "org.gnome.Nautilus.desktop"];
favorite-apps = [
"librewolf.desktop"
"org.gnome.Geary.desktop"
"org.gnome.Nautilus.desktop"
];
};
mutter.edge-tiling = false;
system.location.enabled = true;
settings-daemon.plugins.media-keys.calculator-static = [];
settings-daemon.plugins.media-keys.calculator-static = [ ];
};
}

View file

@ -2,7 +2,8 @@
pkgs,
lib,
...
}: {
}:
{
environment = {
systemPackages = with pkgs.gnomeExtensions; [
valent
@ -102,8 +103,8 @@
allow-zero-brightness = true;
button-location = 1;
ddcutil-binary-path = lib.meta.getExe pkgs.ddcutil;
decrease-brightness-shortcut = ["XF86MonBrightnessDown"];
increase-brightness-shortcut = ["XF86MonBrightnessUp"];
decrease-brightness-shortcut = [ "XF86MonBrightnessDown" ];
increase-brightness-shortcut = [ "XF86MonBrightnessUp" ];
hide-system-indicator = true;
only-all-slider = true;
position-system-menu = 3.0;

View file

@ -1 +1 @@
{hardware.graphics.enable = true;}
{ hardware.graphics.enable = true; }

View file

@ -4,11 +4,13 @@
config,
inputs,
...
}: {
environment.etc."librewolf/policies/policies.json".source = config.environment.etc."firefox/policies/policies.json".source;
}:
{
environment.etc."librewolf/policies/policies.json".source =
config.environment.etc."firefox/policies/policies.json".source;
users.users.quadradical.maid.file.home = {
".librewolf/profiles.ini".source = (pkgs.formats.ini {}).generate "profiles.ini" {
".librewolf/profiles.ini".source = (pkgs.formats.ini { }).generate "profiles.ini" {
General = {
StartWithLastProfile = 1;
};
@ -20,31 +22,37 @@
};
};
".librewolf/quadradical/chrome".source =
toString
(pkgs.symlinkJoin {
".librewolf/quadradical/chrome".source = toString (
pkgs.symlinkJoin {
name = "firefox-gnome-theme";
paths = [./. inputs.firefox-gnome-theme];
});
paths = [
./.
inputs.firefox-gnome-theme
];
}
);
};
programs.firefox = {
enable = true;
package = pkgs.librewolf;
autoConfig = lib.concatStringsSep "\n" (lib.mapAttrsToList (pref: value: "lockPref(\"${pref}\", ${builtins.toJSON value});") {
"webgl.disabled" = false;
"browser.tabs.groups.enabled" = false;
"media.peerconnection.enabled" = true;
"media.webrtc.hw.h264.enabled" = false;
"privacy.resistFingerprinting" = false;
"privacy.fingerprintingProtection" = true;
"browser.discovery.containers.enabled" = false;
"svg.context-properties.content.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC";
"browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":19}";
});
autoConfig = lib.concatStringsSep "\n" (
lib.mapAttrsToList (pref: value: "lockPref(\"${pref}\", ${builtins.toJSON value});") {
"webgl.disabled" = false;
"browser.tabs.groups.enabled" = false;
"media.peerconnection.enabled" = true;
"media.webrtc.hw.h264.enabled" = false;
"privacy.resistFingerprinting" = false;
"privacy.fingerprintingProtection" = true;
"browser.discovery.containers.enabled" = false;
"svg.context-properties.content.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC";
"browser.uiCustomization.state" =
"{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":19}";
}
);
policies = {
ShowHomeButton = false;
@ -115,29 +123,35 @@
Locked = true;
};
ExtensionSettings = lib.mkForce (lib.listToAttrs (map (id: {
name = id;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${id}/latest.xpi";
installation_mode = "force_installed";
};
}) [
"historyblock@kain"
"uBlock0@raymondhill.net"
"sponsorBlocker@ajay.app"
"firefox-addon@pronoundb.org"
"jid1-MnnxcxisBPnSXQ@jetpack" # Privacy Badger
"frankerfacez@frankerfacez.com"
"7esoorv3@alefvanoon.anonaddy.me" # LibRedirect
"{de621c74-2aa6-4c91-a2da-28d445b66bab}" # YouTube Livestreams Theater Mode
"{cf3dba12-a848-4f68-8e2d-f9fadc0721de}" # Google Lighthouse
"{446900e4-71c2-419f-a6a7-df9c091e268b}" # Bitwarden
"{4ce83447-8255-43c2-b8f7-e02eb8c2cc39}" # Draw on Page
"{ac34afe8-3a2e-4201-b745-346c0cf6ec7d}" # Better Youtube Shorts
"{2327d818-55d3-441d-aea2-8b44aa2cb9aa}" # Toggle Website Colors
"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" # User-Agent Switcher and Manager
"enhancerforyoutube@maximerf.addons.mozilla.org"
]));
ExtensionSettings = lib.mkForce (
lib.listToAttrs (
map
(id: {
name = id;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${id}/latest.xpi";
installation_mode = "force_installed";
};
})
[
"historyblock@kain"
"uBlock0@raymondhill.net"
"sponsorBlocker@ajay.app"
"firefox-addon@pronoundb.org"
"jid1-MnnxcxisBPnSXQ@jetpack" # Privacy Badger
"frankerfacez@frankerfacez.com"
"7esoorv3@alefvanoon.anonaddy.me" # LibRedirect
"{de621c74-2aa6-4c91-a2da-28d445b66bab}" # YouTube Livestreams Theater Mode
"{cf3dba12-a848-4f68-8e2d-f9fadc0721de}" # Google Lighthouse
"{446900e4-71c2-419f-a6a7-df9c091e268b}" # Bitwarden
"{4ce83447-8255-43c2-b8f7-e02eb8c2cc39}" # Draw on Page
"{ac34afe8-3a2e-4201-b745-346c0cf6ec7d}" # Better Youtube Shorts
"{2327d818-55d3-441d-aea2-8b44aa2cb9aa}" # Toggle Website Colors
"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" # User-Agent Switcher and Manager
"enhancerforyoutube@maximerf.addons.mozilla.org"
]
)
);
SearchEngines = {
Default = "Federated Nexus Search";
@ -191,7 +205,11 @@
Alias = "hm";
}
];
Remove = ["Bing" "LibRedirect" "Wikipedia (en)"];
Remove = [
"Bing"
"LibRedirect"
"Wikipedia (en)"
];
};
};
};

View file

@ -1 +1 @@
{networking.networkmanager.wifi.macAddress = "random";}
{ networking.networkmanager.wifi.macAddress = "random"; }

View file

@ -1 +1 @@
{environment.sessionVariables.NIXOS_OZONE_WL = "1";}
{ environment.sessionVariables.NIXOS_OZONE_WL = "1"; }

View file

@ -1,5 +1,6 @@
{pkgs, ...}: {
services.xserver.excludePackages = [pkgs.xterm];
{ pkgs, ... }:
{
services.xserver.excludePackages = [ pkgs.xterm ];
environment.systemPackages = with pkgs; [
tuba
gradia

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.ptyxis
];
@ -10,7 +11,7 @@
users.users.quadradical.maid.gsettings.settings.org.gnome.Ptyxis = rec {
default-profile-uuid = "quadradical";
profile-uuids = [default-profile-uuid];
profile-uuids = [ default-profile-uuid ];
Profiles.${default-profile-uuid}.palette = "nord";
};
}

View file

@ -1 +1 @@
{nixpkgs.config.allowBroken = true;}
{ nixpkgs.config.allowBroken = true; }

View file

@ -1 +1 @@
{documentation.man.generateCaches = false;}
{ documentation.man.generateCaches = false; }

View file

@ -1,4 +1,5 @@
{crossPkgs, ...}: {
{ crossPkgs, ... }:
{
nixpkgs.overlays = [
(self: super: {
gnome-shell = crossPkgs.gnome-shell;

View file

@ -5,10 +5,12 @@
config,
lib,
...
}: let
}:
let
efiArch = pkgs.stdenv.hostPlatform.efiArch;
in {
imports = ["${modulesPath}/image/repart.nix"];
in
{
imports = [ "${modulesPath}/image/repart.nix" ];
boot.loader.grub.enable = false;
systemd.repart = {
@ -41,9 +43,15 @@ in {
partitions = {
"20-esp" = {
contents = {
"/EFI/EDK2-UEFI-SHELL/SHELL.EFI".source = "${crossPkgs.edk2-uefi-shell.overrideAttrs {env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized";}}/shell.efi";
"/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI".source = "${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi";
"/EFI/Linux/${config.system.boot.loader.ukiFile}".source = "${config.system.build.uki}/${config.system.boot.loader.ukiFile}";
"/EFI/EDK2-UEFI-SHELL/SHELL.EFI".source = "${
crossPkgs.edk2-uefi-shell.overrideAttrs {
env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized";
}
}/shell.efi";
"/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI".source =
"${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi";
"/EFI/Linux/${config.system.boot.loader.ukiFile}".source =
"${config.system.build.uki}/${config.system.boot.loader.ukiFile}";
"/loader/loader.conf".source = crossPkgs.writeText "loader.conf" ''
timeout 5
console-mode keep
@ -63,8 +71,8 @@ in {
};
};
"30-root" = {
storePaths = [config.system.build.toplevel];
contents."/boot".source = crossPkgs.runCommand "boot" {} "mkdir $out";
storePaths = [ config.system.build.toplevel ];
contents."/boot".source = crossPkgs.runCommand "boot" { } "mkdir $out";
repartConfig = {
Type = "root";
Format = "ext4";

View file

@ -1 +1 @@
{imports = [../server/ssh.nix];}
{ imports = [ ../server/ssh.nix ]; }

View file

@ -1,5 +1,9 @@
{modulesPath, ...}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/profiles/qemu-guest.nix")];
{ modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.loader.grub = {
enable = true;
efiSupport = true;

View file

@ -1,5 +1,6 @@
{inputs, ...}: {
imports = [inputs.disko.nixosModules.disko];
{ inputs, ... }:
{
imports = [ inputs.disko.nixosModules.disko ];
disko.devices.disk.main = {
type = "disk";
device = "/dev/sda";
@ -17,7 +18,7 @@
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["umask=0077"];
mountOptions = [ "umask=0077" ];
};
};
root = {

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
btop
];

View file

@ -1,14 +1,15 @@
let
port = 2222;
in {
networking.firewall.allowedTCPPorts = [port];
in
{
networking.firewall.allowedTCPPorts = [ port ];
users.users.quadradical.openssh.authorizedKeys.keys = import ../../secrets/keys.nix;
services.openssh = {
enable = true;
ports = [port];
ports = [ port ];
settings = {
PasswordAuthentication = false;
AllowUsers = ["quadradical"];
AllowUsers = [ "quadradical" ];
PermitRootLogin = "no";
};
};

View file

@ -1 +1 @@
{nix.settings.trusted-users = ["quadradical"];}
{ nix.settings.trusted-users = [ "quadradical" ]; }

View file

@ -1,5 +1,9 @@
with builtins;
filter (line: isString line && stringLength line != 0) (split "\n" (readFile (fetchurl {
url = "https://git.federated.nexus/Henry-Hiles.keys";
sha256 = "1k73c228rgzq7ymf5vaj6wfqzkqm6yzq5lq0syb7mzbrvngvr2jc";
})))
filter (line: isString line && stringLength line != 0) (
split "\n" (
readFile (fetchurl {
url = "https://git.federated.nexus/Henry-Hiles.keys";
sha256 = "1k73c228rgzq7ymf5vaj6wfqzkqm6yzq5lq0syb7mzbrvngvr2jc";
})
)
)

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
stylix = {
enable = true;
polarity = "dark";

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
wrappers.fish = {
basePackage = pkgs.fish;
env.fish_greeting.value = "";

View file

@ -4,13 +4,15 @@
dirUtils,
type,
...
}: {
}:
{
environment.systemPackages = [
(inputs.wrapper-manager.lib {
inherit pkgs;
specialArgs = {inherit inputs;};
modules = with dirUtils; dirFiles ".nix" ./common ++ opt (type == "desktop") (dirFiles ".nix" ./desktop);
})
.config.build.toplevel
specialArgs = { inherit inputs; };
modules =
with dirUtils;
dirFiles ".nix" ./common ++ opt (type == "desktop") (dirFiles ".nix" ./desktop);
}).config.build.toplevel
];
}

View file

@ -2,20 +2,26 @@
inputs,
pkgs,
...
}: {
}:
{
wrappers.agenix = {
basePackage = inputs.agenix-cli.packages.${pkgs.system}.default;
env.AGENIX_ROOT.value = let
path = ".agenix.toml";
in
pkgs.writeTextDir path (builtins.readFile (pkgs.writers.writeTOML path {
paths = [
{
glob = "**";
identities = import ../../secrets/keys.nix;
env.AGENIX_ROOT.value =
let
path = ".agenix.toml";
in
pkgs.writeTextDir path (
builtins.readFile (
pkgs.writers.writeTOML path {
paths = [
{
glob = "**";
identities = import ../../secrets/keys.nix;
}
];
}
];
}));
)
);
};
}