Compare commits
No commits in common. "9e17ff86d95b124111c4a60db324c28ef59bd8cf" and "383d9f878eb8705b3b4832092005cfbc579e5d4e" have entirely different histories.
9e17ff86d9
...
383d9f878e
20 changed files with 86 additions and 115 deletions
16
.sops.yaml
16
.sops.yaml
|
@ -7,17 +7,27 @@ keys:
|
||||||
- &rackserv age1zutg3s4nth679a6av9xqw4km0ezmfkxlnusu78demf0rzazqn3pqk9exgj
|
- &rackserv age1zutg3s4nth679a6av9xqw4km0ezmfkxlnusu78demf0rzazqn3pqk9exgj
|
||||||
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/nixdesk
|
- path_regex: home/profiles/secrets
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *xun
|
||||||
|
- path_regex: sys/profiles/secrets/global
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *xun
|
- *xun
|
||||||
- *nixdesk
|
- *nixdesk
|
||||||
- path_regex: secrets/hopper
|
- *hopper
|
||||||
|
- path_regex: sys/profiles/secrets/nixdesk
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *xun
|
||||||
|
- *nixdesk
|
||||||
|
- path_regex: sys/profiles/secrets/hopper
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *xun
|
- *xun
|
||||||
- *hopper
|
- *hopper
|
||||||
- path_regex: secrets/rackserv
|
- path_regex: sys/profiles/secrets/rackserv
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *xun
|
- *xun
|
||||||
|
|
7
Justfile
7
Justfile
|
@ -7,8 +7,13 @@ local OPERATION *FLAGS:
|
||||||
{{FLAGS}} \
|
{{FLAGS}} \
|
||||||
{{OPERATION}}
|
{{OPERATION}}
|
||||||
|
|
||||||
|
|
||||||
|
buildiso *FLAGS:
|
||||||
|
nix build .#nixosConfigurations.liveiso.config.system.build.isoImage {{FLAGS}}
|
||||||
|
|
||||||
updatekeys:
|
updatekeys:
|
||||||
fd . secrets -E '*.nix' -t f -x sops updatekeys -y
|
fd . sys/profiles/secrets -E '*.nix' -t f -x sops updatekeys -y
|
||||||
|
|
||||||
|
|
||||||
remote OPERATION HOST REMOTEHOST *FLAGS:
|
remote OPERATION HOST REMOTEHOST *FLAGS:
|
||||||
nixos-rebuild \
|
nixos-rebuild \
|
||||||
|
|
12
flake.nix
12
flake.nix
|
@ -6,13 +6,11 @@
|
||||||
haumea,
|
haumea,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
_load = path:
|
systemProfiles = haumea.lib.load {
|
||||||
haumea.lib.load {
|
src = ./sys/profiles;
|
||||||
src = path;
|
loader = haumea.lib.loaders.path;
|
||||||
loader = haumea.lib.loaders.path;
|
};
|
||||||
};
|
homeProfiles = ./home;
|
||||||
systemProfiles = _load ./sys/profiles;
|
|
||||||
homeProfiles = _load ./home;
|
|
||||||
vars = import ./vars;
|
vars = import ./vars;
|
||||||
l = nixpkgs.lib;
|
l = nixpkgs.lib;
|
||||||
b = builtins;
|
b = builtins;
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
programs.gpg = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -6,10 +6,10 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../__common/fuzzel.nix
|
../common/fuzzel.nix
|
||||||
../__common/wob.nix
|
../common/wob.nix
|
||||||
../__common/wl-clipboard.nix
|
../common/wl-clipboard.nix
|
||||||
./__waybar.nix
|
./waybar.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# services.gnome-keyring = {
|
# services.gnome-keyring = {
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.firefox.profiles.xun.search = {
|
programs.firefox.profiles.xun.search = let
|
||||||
|
inherit (lib) attrsToList singleton;
|
||||||
|
in {
|
||||||
force = true;
|
force = true;
|
||||||
default = "google";
|
default = "google";
|
||||||
order = [
|
order = [
|
||||||
|
@ -45,11 +47,6 @@
|
||||||
icon = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
icon = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
||||||
definedAliases = ["@ghn"];
|
definedAliases = ["@ghn"];
|
||||||
};
|
};
|
||||||
"nixpkgs github" = {
|
|
||||||
urls = mkUrl "https://github.com/search?type=code&q=repo:NixOS/nixpkgs {searchTerms}";
|
|
||||||
icon = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
|
||||||
definedAliases = ["@nixpkgs"];
|
|
||||||
};
|
|
||||||
"Brave" = {
|
"Brave" = {
|
||||||
urls = mkUrl "https://search.brave.com/search?q={searchTerms}";
|
urls = mkUrl "https://search.brave.com/search?q={searchTerms}";
|
||||||
icon = "https://brave.com/static-assets/images/brave-favicon.png";
|
icon = "https://brave.com/static-assets/images/brave-favicon.png";
|
||||||
|
@ -60,19 +57,21 @@
|
||||||
icon = "https://www.youtube.com/favicon.ico";
|
icon = "https://www.youtube.com/favicon.ico";
|
||||||
definedAliases = ["@yt"];
|
definedAliases = ["@yt"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"crates.io" = {
|
"crates.io" = {
|
||||||
urls = mkUrl "https://crates.io/search?q={searchTerms}";
|
urls = mkUrl "https://crates.io/search?q={searchTerms}";
|
||||||
icon = "https://crates.io/favicon.ico";
|
icon = "https://crates.io/favicon.ico";
|
||||||
definedAliases = ["@cr"];
|
definedAliases = ["@cr"];
|
||||||
};
|
};
|
||||||
"noogle" = {
|
"noogle" = {
|
||||||
urls = mkUrl "https://noogle.dev/q?term={searchTerms}";
|
url = mkUrl "https://noogle.dev/q?term={searchTerms}";
|
||||||
icon = "https://noogle.dev/favicon.png";
|
icon = "https://noogle.dev/favicon.png";
|
||||||
definedAliases = ["@nog"];
|
definedAliases = ["@noogle"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"google".metaData.alias = "@go";
|
"google".metaData.alias = "@go";
|
||||||
"ddb".metaData.alias = "@ddg";
|
"ddb".metaData.alias = "@ddg";
|
||||||
|
"wikipedia".metaData.alias = "@wiki";
|
||||||
"bing".metaData.alias = "@bi";
|
"bing".metaData.alias = "@bi";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,20 +4,20 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = with homeProfiles; [
|
imports = map (x: homeProfiles + x) [
|
||||||
cli.xdg
|
/cli/xdg.nix
|
||||||
cli.comma
|
/cli/comma.nix
|
||||||
|
|
||||||
programs.nvim
|
/programs/nvim.nix
|
||||||
programs.foot
|
/programs/foot.nix
|
||||||
|
|
||||||
desktop.xdg-portals
|
/desktop/xdg-portals.nix
|
||||||
desktop.sway.default
|
/desktop/sway/default.nix
|
||||||
|
|
||||||
programs.mpv
|
/programs/mpv.nix
|
||||||
|
|
||||||
services.playerctl
|
/services/playerctl.nix
|
||||||
services.polkit-agent
|
/services/polkit-agent.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.sway.config.output."HDMI-A-1".scale = "2.0";
|
wayland.windowManager.sway.config.output."HDMI-A-1".scale = "2.0";
|
||||||
|
|
|
@ -20,12 +20,7 @@ in {
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
globalConfig = ''
|
globalConfig = "metrics";
|
||||||
metrics
|
|
||||||
servers {
|
|
||||||
trusted_proxies static 10.0.0.1
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
virtualHosts = let
|
virtualHosts = let
|
||||||
mkPublicEntry = name: destination: {
|
mkPublicEntry = name: destination: {
|
||||||
hostName = "${name}.${domain}:80";
|
hostName = "${name}.${domain}:80";
|
||||||
|
@ -48,7 +43,6 @@ in {
|
||||||
navidrome = mkPublicEntry "navidrome" "${bridge}:${toString config.services.navidrome.settings.Port}";
|
navidrome = mkPublicEntry "navidrome" "${bridge}:${toString config.services.navidrome.settings.Port}";
|
||||||
vaultwarden = mkPublicEntry "vw" "${bridge}:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
vaultwarden = mkPublicEntry "vw" "${bridge}:${toString config.services.vaultwarden.config.ROCKET_PORT}";
|
||||||
abs = mkPublicEntry "abs" "${bridge}:${toString config.services.audiobookshelf.port}";
|
abs = mkPublicEntry "abs" "${bridge}:${toString config.services.audiobookshelf.port}";
|
||||||
miniflux = mkPublicEntry "rss" "${bridge}:18632";
|
|
||||||
|
|
||||||
navidrome2 = mkPrivateEntry "navidrome" "${bridge}:${toString config.services.navidrome.settings.Port}";
|
navidrome2 = mkPrivateEntry "navidrome" "${bridge}:${toString config.services.navidrome.settings.Port}";
|
||||||
slskd = mkPrivateEntry "slskd" "localhost:${toString config.services.slskd.settings.web.port}";
|
slskd = mkPrivateEntry "slskd" "localhost:${toString config.services.slskd.settings.web.port}";
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
./glances.nix
|
./glances.nix
|
||||||
./homepage.nix
|
./homepage.nix
|
||||||
./minecraft.nix
|
./minecraft.nix
|
||||||
./miniflux.nix
|
|
||||||
./navidrome
|
./navidrome
|
||||||
./prometheus.nix
|
./prometheus.nix
|
||||||
./restic.nix
|
./restic.nix
|
||||||
|
|
|
@ -79,12 +79,6 @@ in {
|
||||||
icon = "vaultwarden";
|
icon = "vaultwarden";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
"miniflux" = {
|
|
||||||
href = "https://rss.${domain}";
|
|
||||||
icon = "miniflux";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
vars,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.miniflux = {
|
|
||||||
enable = true;
|
|
||||||
adminCredentialsFile = config.sops.secrets.miniflux.path;
|
|
||||||
config = {
|
|
||||||
BASE_URL = "https://miniflux.${vars.domain}";
|
|
||||||
LISTEN_ADDR = "${config.vpnNamespaces."wg".bridgeAddress}:18632";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -11,7 +11,6 @@
|
||||||
config.services.audiobookshelf.port
|
config.services.audiobookshelf.port
|
||||||
config.services.navidrome.settings.Port
|
config.services.navidrome.settings.Port
|
||||||
config.services.glances.port
|
config.services.glances.port
|
||||||
18632
|
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
extraCommands = builtins.concatStringsSep "\n" (map
|
extraCommands = builtins.concatStringsSep "\n" (map
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
"/var/log"
|
"/var/log"
|
||||||
"/var/lib/nixos"
|
"/var/lib/nixos"
|
||||||
"/var/lib/bluetooth"
|
"/var/lib/bluetooth"
|
||||||
"/var/lib/postgresql"
|
|
||||||
];
|
];
|
||||||
files = [
|
files = [
|
||||||
"/etc/machine-id"
|
"/etc/machine-id"
|
||||||
|
|
|
@ -65,7 +65,6 @@
|
||||||
programs.home-manager
|
programs.home-manager
|
||||||
# programs.qt
|
# programs.qt
|
||||||
programs.adb
|
programs.adb
|
||||||
programs.gpg
|
|
||||||
programs.openrgb
|
programs.openrgb
|
||||||
programs.tools
|
programs.tools
|
||||||
programs.thunar
|
programs.thunar
|
||||||
|
|
|
@ -6,64 +6,63 @@
|
||||||
homeProfiles,
|
homeProfiles,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = with homeProfiles; [
|
imports = map (x: homeProfiles + x) [
|
||||||
cli.zsh
|
/cli/zsh.nix
|
||||||
cli.fish
|
/cli/fish.nix
|
||||||
|
|
||||||
cli.xdg
|
/cli/xdg.nix
|
||||||
cli.direnv
|
/cli/direnv.nix
|
||||||
cli.tmux
|
/cli/tmux.nix
|
||||||
cli.comma
|
/cli/comma.nix
|
||||||
cli.irssi
|
/cli/irssi.nix
|
||||||
cli.gpg
|
/cli/git.nix
|
||||||
cli.git
|
/cli/github.nix
|
||||||
cli.github
|
/cli/jujutsu.nix
|
||||||
cli.jujutsu
|
|
||||||
|
|
||||||
programs.nvim
|
/programs/nvim.nix
|
||||||
|
|
||||||
programs.firefox.default
|
/programs/firefox/default.nix
|
||||||
programs.tor
|
/programs/tor.nix
|
||||||
programs.chromium
|
/programs/chromium.nix
|
||||||
|
|
||||||
programs.foot
|
/programs/foot.nix
|
||||||
|
|
||||||
themes.dark.default
|
/themes/dark/default.nix
|
||||||
|
|
||||||
# desktop
|
# desktop
|
||||||
desktop.xdg-portals
|
/desktop/xdg-portals.nix
|
||||||
desktop.sway.default
|
/desktop/sway/default.nix
|
||||||
|
|
||||||
# development
|
# development
|
||||||
develop.common
|
/develop/common.nix
|
||||||
develop.docs
|
/develop/docs.nix
|
||||||
|
|
||||||
develop.langs.haskell
|
/develop/langs/haskell.nix
|
||||||
develop.langs.go
|
/develop/langs/go.nix
|
||||||
develop.langs.js
|
/develop/langs/js.nix
|
||||||
develop.langs.rust
|
/develop/langs/rust.nix
|
||||||
develop.langs.elixir
|
/develop/langs/elixir.nix
|
||||||
develop.langs.nix
|
/develop/langs/nix.nix
|
||||||
develop.langs.zig
|
/develop/langs/zig.nix
|
||||||
develop.langs.lua
|
/develop/langs/lua.nix
|
||||||
develop.langs.c
|
/develop/langs/c.nix
|
||||||
develop.langs.csharp
|
/develop/langs/csharp.nix
|
||||||
|
|
||||||
# programs
|
# programs
|
||||||
programs.discord
|
/programs/discord.nix
|
||||||
programs.obs
|
/programs/obs.nix
|
||||||
|
|
||||||
programs.beets
|
/programs/beets.nix
|
||||||
programs.cmus
|
/programs/cmus.nix
|
||||||
|
|
||||||
programs.mpv
|
/programs/mpv.nix
|
||||||
|
|
||||||
# gaming
|
# gaming
|
||||||
programs.mangohud
|
/programs/mangohud.nix
|
||||||
programs.jc141
|
/programs/jc141.nix
|
||||||
|
|
||||||
services.playerctl
|
/services/playerctl.nix
|
||||||
services.polkit-agent
|
/services/polkit-agent.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.sway.extraConfig = ''
|
wayland.windowManager.sway.extraConfig = ''
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue