Merge remote-tracking branch 'refs/remotes/origin/main'

This commit is contained in:
muon 2025-01-13 15:25:19 +00:00
commit 8920fa33bc
8 changed files with 168 additions and 148 deletions

244
flake.lock generated
View file

@ -1,23 +1,5 @@
{ {
"nodes": { "nodes": {
"actual": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1733551027,
"narHash": "sha256-nlZWAq4E+cNywCuxpnYcyky4fd+8bVzJHrS2e8QTtVs=",
"ref": "refs/heads/main",
"rev": "7f041ffa7f204deb0fc2e36908b382804f2e108d",
"revCount": 18,
"type": "git",
"url": "https://git.xeno.science/xenofem/actual-nix.git"
},
"original": {
"type": "git",
"url": "https://git.xeno.science/xenofem/actual-nix.git"
}
},
"base16": { "base16": {
"inputs": { "inputs": {
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
@ -84,6 +66,22 @@
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1734969791,
"narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
@ -168,24 +166,6 @@
} }
}, },
"flake-utils_3": { "flake-utils_3": {
"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_4": {
"inputs": { "inputs": {
"systems": [ "systems": [
"stylix", "stylix",
@ -222,6 +202,59 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": [
"stylix",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"stylix",
"nixpkgs"
],
"nixpkgs-stable": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"stylix",
"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"
}
},
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -246,11 +279,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735774425, "lastModified": 1736277415,
"narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", "narHash": "sha256-kPDXF6cIPsVqSK08XF5EC6KM7BdMnM9vtJDzsnf+lLU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5f6aa268e419d053c3d5025da740e390b12ac936", "rev": "5c4302313d9207f7ec0886d68f8ff4a3c71209a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -267,11 +300,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733085484, "lastModified": 1735774425,
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=", "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163", "rev": "5f6aa268e419d053c3d5025da740e390b12ac936",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -286,7 +319,7 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nix-filter": "nix-filter", "nix-filter": "nix-filter",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1734239219, "lastModified": 1734239219,
@ -342,7 +375,7 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1720748198, "lastModified": 1720748198,
@ -359,22 +392,6 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1728492678,
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1733940404, "lastModified": 1733940404,
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
@ -390,7 +407,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1715266358, "lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
@ -406,13 +423,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1735471104, "lastModified": 1736012469,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -422,90 +439,56 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1622516815, "lastModified": 1735648875,
"narHash": "sha256-ZjBd81a6J3TwtlBr3rHsZspYUwT9OdhDk+a/SgSEf7I=", "narHash": "sha256-fQ4k/hyQiH9RRPznztsA9kbcDajvwV1sRm01el6Sr3c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7e9b0dff974c89e070da1ad85713ff3c20b0ca97", "rev": "47e29c20abef74c45322eca25ca1550cdf5c3b50",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "21.05", "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1732238832,
"narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"actual": "actual",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-alien": "nix-alien", "nix-alien": "nix-alien",
"nix-minecraft": "nix-minecraft", "nix-minecraft": "nix-minecraft",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"shabitica": "shabitica",
"stylix": "stylix" "stylix": "stylix"
} }
}, },
"shabitica": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1724518687,
"narHash": "sha256-rPKeUG3aKLHF/9t5zAQPvy/QKm/eBXFKP6X+Cr9E7Go=",
"owner": "lomenzel",
"repo": "shabitica",
"rev": "6013624a276b326530ebf8c616fc89e2f23fd3af",
"type": "github"
},
"original": {
"owner": "lomenzel",
"repo": "shabitica",
"type": "github"
}
},
"stylix": { "stylix": {
"inputs": { "inputs": {
"base16": "base16", "base16": "base16",
"base16-fish": "base16-fish", "base16-fish": "base16-fish",
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_3",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_4",
"systems": "systems_4", "systems": "systems_3",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1735764504, "lastModified": 1736300059,
"narHash": "sha256-shMdOkQzR9jIK3TW6XaesOea1rHwxWIFFOhIRhuCF4Y=", "narHash": "sha256-z3mR+0gBN/iVM8UgfCSIxjgw4jm1bu1kjMKyQx9mGBc=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "911c07f40f816fd2d12a7dd750ca8bc421db9dd2", "rev": "168306ce7f5d823ccee8b7d4e112ea20671c2b8f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -559,21 +542,6 @@
"type": "github" "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"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -623,6 +591,22 @@
"repo": "tinted-tmux", "repo": "tinted-tmux",
"type": "github" "type": "github"
} }
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -6,10 +6,7 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
# nix-minecraft.url = "git+ssh://git@codeberg.org/nix-astral/nix-minecraft.git";
nix-minecraft.url = "git+https://codeberg.org/nix-astral/nix-minecraft.git"; nix-minecraft.url = "git+https://codeberg.org/nix-astral/nix-minecraft.git";
shabitica.url = "github:lomenzel/shabitica";
actual.url = "git+https://git.xeno.science/xenofem/actual-nix.git";
nix-alien.url = "github:thiagokokada/nix-alien"; nix-alien.url = "github:thiagokokada/nix-alien";
}; };

View file

@ -3,11 +3,7 @@ let cfg = config.mods;
in { in {
# Hardware # Hardware
imports = [ imports = [ ./hardware-configuration.nix ];
./hardware-configuration.nix
inputs.shabitica.nixosModules."x86_64-linux".default
inputs.actual.nixosModules.default
];
environment.systemPackages = with inputs.nix-alien.packages.${system}; environment.systemPackages = with inputs.nix-alien.packages.${system};
[ nix-alien ]; [ nix-alien ];
@ -28,8 +24,7 @@ in {
mods.theme.wallpaper = ./wallpaper.png; mods.theme.wallpaper = ./wallpaper.png;
mods.containers.steam.enable = false; mods.containers.steam.enable = false;
mods.server.media.enable = true; mods.server.astral.enable = false;
mods.server.astral.enable = true;
mods.server.astral.autoStart = false; mods.server.astral.autoStart = false;
mods.docker.media.enable = false; mods.docker.media.enable = false;
@ -40,9 +35,15 @@ in {
mods.wireguard.id = 2; mods.wireguard.id = 2;
mods.i2p.enable = true; mods.i2p.enable = true;
mods.server.homebox.enable = true;
mods.server.nginx.ports.homebox = 3002;
services.xserver.windowManager.i3.enable = true; services.xserver.windowManager.i3.enable = true;
services.actual.enable = true; services.actual.enable = true;
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];
# Proprietary </3 # Proprietary </3
mods.unfree.steam.enable = true; mods.unfree.steam.enable = true;
mods.unfree.nvidia.enable = true; mods.unfree.nvidia.enable = true;

View file

@ -1,6 +1,7 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
mods.server.nginx.ports = { mods.server.nginx.ports = {
photos = 3001; photos = 3001;
homebox = 3002;
search = 8081; search = 8081;
videos = 8082; videos = 8082;

View file

@ -13,5 +13,6 @@
./search.nix ./search.nix
./nginx.nix ./nginx.nix
./frontends.nix ./frontends.nix
./homebox.nix
]; ];
} }

View file

@ -9,6 +9,10 @@ in with lib; {
default = false; default = false;
description = "enables grav service"; description = "enables grav service";
}; };
location = mkOption {
default = "/srv/grav";
description = "location for homebox data";
};
}; };
}; };
@ -18,7 +22,7 @@ in with lib; {
services.grav = mkIf cfg.grav.enable { services.grav = mkIf cfg.grav.enable {
inherit port; inherit port;
enable = true; enable = true;
root = "/curr/grav/grav"; root = cfg.grav.location;
phpPackage = pkgs.php81; phpPackage = pkgs.php81;
}; };
users.users.${config.mods.user.name}.extraGroups = lib.mkAfter [ "grav" ]; users.users.${config.mods.user.name}.extraGroups = lib.mkAfter [ "grav" ];

View file

@ -0,0 +1,36 @@
{ pkgs, lib, config, ... }:
let
cfg = config.mods.server.homebox;
port = config.mods.server.nginx.ports.homebox;
in with lib; {
options.mods.server = {
homebox = {
enable = mkEnableOption {
default = false;
description = "enables homebox server";
};
location = mkOption {
default = "/srv/homebox/data";
description = "location for homebox data";
};
};
};
config = mkIf cfg.enable {
services.homebox = {
enable = true;
settings = {
HBOX_WEB_PORT = toString port;
HBOX_WEB_HOST = "0.0.0.0";
HBOX_STORAGE_DATA = cfg.location;
HBOX_STORAGE_SQLITE_URL =
"${cfg.location}/homebox.db?_pragma=busy_timeout=999&_pragma=journal_mode=WAL&_fk=1";
HBOX_OPTIONS_ALLOW_REGISTRATION = "true";
HBOX_MODE = "production";
};
};
systemd.services.homebox.serviceConfig.WorkingDirectory =
mkForce cfg.location;
};
}

View file

@ -1,4 +1,3 @@
{ pkgs, lib, config, ... }: { { pkgs, lib, config, ... }: {
options.mods.server.photoprism = { options.mods.server.photoprism = {
enable = lib.mkEnableOption { enable = lib.mkEnableOption {
@ -7,7 +6,6 @@
}; };
}; };
config = lib.mkIf config.mods.server.photoprism.enable { config = lib.mkIf config.mods.server.photoprism.enable {
services.photoprism = { services.photoprism = {
enable = true; enable = true;
@ -35,12 +33,10 @@
dataDir = "/data/mysql"; dataDir = "/data/mysql";
package = pkgs.mariadb; package = pkgs.mariadb;
ensureDatabases = [ "photoprism" ]; ensureDatabases = [ "photoprism" ];
ensureUsers = [ { ensureUsers = [{
name = "photoprism"; name = "photoprism";
ensurePermissions = { ensurePermissions = { "photoprism.*" = "ALL PRIVILEGES"; };
"photoprism.*" = "ALL PRIVILEGES"; }];
};
} ];
}; };
}; };
} }