Compare commits
27 Commits
65242cd03a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a85ad21cb | |||
| 7318c0e094 | |||
| 449dc22173 | |||
| 723da71a35 | |||
| b5a83638bf | |||
|
|
a5b4d685b7 | ||
|
|
61bc144093 | ||
|
|
57980742c6 | ||
|
|
6c3ee01b9c | ||
|
|
d176f6a5b2 | ||
|
|
22fab9f431 | ||
|
|
d8fce003c9 | ||
|
|
286288a41e | ||
|
|
a19519b292 | ||
| 210768d538 | |||
| 0f8348d3fe | |||
| f85dafd5a8 | |||
| e30ccf72e6 | |||
| 28de659218 | |||
|
|
b4923858d2 | ||
|
|
28ab585a34 | ||
| e6a91a0d49 | |||
| df5d85cc43 | |||
| 73ac52a1f7 | |||
| ddc1563ef2 | |||
| a14f1da387 | |||
| bc4ee5be49 |
31
.gitea/workflows/test-on-push.yaml
Normal file
31
.gitea/workflows/test-on-push.yaml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
name: Test Flake
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
jobs:
|
||||||
|
test_flake:
|
||||||
|
runs-on: nixos
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: check nixos flake
|
||||||
|
run: /run/current-system/sw/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes flake check --all-systems --verbose
|
||||||
|
|
||||||
|
- name: check home-manager flake
|
||||||
|
run: "/run/current-system/sw/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes eval .#homeConfigurations --apply 'builtins.mapAttrs (_n: v: v.activationPackage.drvPath)' --verbose"
|
||||||
|
|
||||||
|
dry_build:
|
||||||
|
runs-on: nixos
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Test Build
|
||||||
|
run: |
|
||||||
|
/run/current-system/sw/bin/nixos-rebuild dry-build --flake .#yukigekko
|
||||||
|
/run/current-system/sw/bin/nixos-rebuild dry-build --flake .#lesbos
|
||||||
|
/run/current-system/sw/bin/nixos-rebuild dry-build --flake .#wsl-hive
|
||||||
|
/run/current-system/sw/bin/nixos-rebuild dry-build --flake .#hoardfrost
|
||||||
26
.gitea/workflows/update.yaml
Normal file
26
.gitea/workflows/update.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
name: Update Flake
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 23 * * *'
|
||||||
|
jobs:
|
||||||
|
update_flake:
|
||||||
|
runs-on: nixos
|
||||||
|
steps:
|
||||||
|
- name: Prevent re-runs
|
||||||
|
run: |
|
||||||
|
if [ "$GITHUB_RUN_ATTEMPT" -gt 1 ]; then
|
||||||
|
echo "No re-runs for you. Go away."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "not a re-run"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Update Flake
|
||||||
|
run: /run/current-system/sw/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update --refresh --commit-lock-file --verbose
|
||||||
|
|
||||||
|
- name: Push Changes
|
||||||
|
run: git push
|
||||||
40
flake.lock
generated
40
flake.lock
generated
@@ -23,11 +23,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761588595,
|
"lastModified": 1765121682,
|
||||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
"narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -94,11 +94,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764636297,
|
"lastModified": 1765980955,
|
||||||
"narHash": "sha256-S41K55kw+hWgDfgKmZ9/fMZ3F0BQDMvqFfE120fMHeE=",
|
"narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ff067cfc619fdf6f82d50344e7d19ff2323f0827",
|
"rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -110,11 +110,11 @@
|
|||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764637364,
|
"lastModified": 1766001599,
|
||||||
"narHash": "sha256-QFnWVaNNEhM9Q5RP52yj2zeB1mUfKVY96IFegnWLH94=",
|
"narHash": "sha256-avWZpy84s8bdMGsbOjfc4n0LYUqR5H5+Wj4QmgwsBzg=",
|
||||||
"rev": "716a885def4eadc4a031a931eea1e8dc135341ad",
|
"rev": "32d7c02b96259d05f50a482c2b7e55d59a70294c",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/716a885def4eadc4a031a931eea1e8dc135341ad.tar.gz?rev=716a885def4eadc4a031a931eea1e8dc135341ad"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/32d7c02b96259d05f50a482c2b7e55d59a70294c.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
"narHash": "sha256-XnNABKfIYKSimQVvKc9FnlC2H0LurOhd9MS6l0Z67lE=",
|
"narHash": "sha256-XnNABKfIYKSimQVvKc9FnlC2H0LurOhd9MS6l0Z67lE=",
|
||||||
"rev": "6c95c0b6f73f831226453fc6905c216ab634c30f",
|
"rev": "6c95c0b6f73f831226453fc6905c216ab634c30f",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/6c95c0b6f73f831226453fc6905c216ab634c30f.tar.gz?rev=6c95c0b6f73f831226453fc6905c216ab634c30f"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/6c95c0b6f73f831226453fc6905c216ab634c30f.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -150,11 +150,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764591717,
|
"lastModified": 1765841014,
|
||||||
"narHash": "sha256-T/HMA0Bb/O6UnlGQ0Xt+wGe1j8m7eyyQ5+vVcCJslsM=",
|
"narHash": "sha256-55V0AJ36V5Egh4kMhWtDh117eE3GOjwq5LhwxDn9eHg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "84d1dab290feb4865d0cfcffc7aa0cf9bc65c3b7",
|
"rev": "be4af8042e7a61fa12fda58fe9a3b3babdefe17b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -198,11 +198,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764517877,
|
"lastModified": 1765472234,
|
||||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -214,11 +214,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764517877,
|
"lastModified": 1765779637,
|
||||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
18
flake.nix
18
flake.nix
@@ -73,7 +73,23 @@
|
|||||||
extraSpecialArgs = specialArgs;
|
extraSpecialArgs = specialArgs;
|
||||||
pkgs = pkgs;
|
pkgs = pkgs;
|
||||||
modules = [
|
modules = [
|
||||||
./home/autumn/sysconfs/hoadfrost.nix
|
./home/autumn/sysconfs/hoardfrost.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"autumn@rhiannon" = home-manager.lib.homeManagerConfiguration{
|
||||||
|
extraSpecialArgs = specialArgs;
|
||||||
|
pkgs = pkgs;
|
||||||
|
modules = [
|
||||||
|
./home/autumn/home.nix
|
||||||
|
./home/autumn/sysconfs/yukigekko.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"autumn@macha" = home-manager.lib.homeManagerConfiguration{
|
||||||
|
extraSpecialArgs = specialArgs;
|
||||||
|
pkgs = pkgs;
|
||||||
|
modules = [
|
||||||
|
./home/autumn/home.nix
|
||||||
|
./home/autumn/sysconfs/lesbos.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
oh-my-zsh
|
oh-my-zsh
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
xdg.configFile."starship.toml".source = ./packages/starship/starship.toml;
|
xdg.configFile."starship.toml".source = ../../packages/starship/starship.toml;
|
||||||
|
xdg.configFile."rust-motd/rust-motd.kdl".source = ../../packages/rust-motd/rust-motd.kdl;
|
||||||
# programs.bash.initExtra = [
|
# programs.bash.initExtra = [
|
||||||
# "zsh"
|
# "zsh"
|
||||||
# "starship init zsh"
|
# "starship init zsh"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
# ../../packages/twmn/twmn.nix
|
# ../../packages/twmn/twmn.nix
|
||||||
../../packages/mako/mako.nix
|
../../packages/mako/mako.nix
|
||||||
../../packages/fuzzel/fuzzel.nix
|
../../packages/fuzzel/fuzzel.nix
|
||||||
# ../../packages/avizo/avizo.nix
|
../../packages/avizo/avizo.nix
|
||||||
../../packages/niri/niri.nix
|
../../packages/niri/niri.nix
|
||||||
# Distrobox containers
|
# Distrobox containers
|
||||||
# ../../boxes/archlinux/box-archlinux.nix
|
# ../../boxes/archlinux/box-archlinux.nix
|
||||||
|
|||||||
@@ -115,4 +115,9 @@ binds {
|
|||||||
Super+Page_Up {focus-workspace-up;}
|
Super+Page_Up {focus-workspace-up;}
|
||||||
Super+Shift+Page_Down{move-column-to-workspace-down;}
|
Super+Shift+Page_Down{move-column-to-workspace-down;}
|
||||||
Super+Shift+Page_Up{move-column-to-workspace-up;}
|
Super+Shift+Page_Up{move-column-to-workspace-up;}
|
||||||
|
XF86AudioRaiseVolume {spawn "volumectl" "-d" "-u" "up";}
|
||||||
|
XF86AudioLowerVolume {spawn "volumectl" "-d" "-u" "down";}
|
||||||
|
XF86AudioMute {spawn "volumectl" "-d" "toggle-mute";}
|
||||||
|
XF86MonBrightnessUp {spawn "lightctl" "-d" "up";}
|
||||||
|
XF86MonBrightnessDown {spawn "lightctl" "-d" "down";}
|
||||||
}
|
}
|
||||||
|
|||||||
28
home/packages/rust-motd/rust-motd.kdl
Normal file
28
home/packages/rust-motd/rust-motd.kdl
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
global {
|
||||||
|
version "1.0"
|
||||||
|
}
|
||||||
|
components{
|
||||||
|
command color="blue" "hostname | figlet -f sblood"
|
||||||
|
weather loc="Denver" style="full"
|
||||||
|
service-status{
|
||||||
|
service display-name="samba" unit="samba-wsdd.service"
|
||||||
|
service display-name="openssh" unit="sshd.service"
|
||||||
|
service display-name="mealie" unit="podman-mealie.service"
|
||||||
|
service display-name="mealiedb" unit="podman-postgres.service"
|
||||||
|
service display-name="stirling" unit="podman-stirling-pdf.service"
|
||||||
|
service display-name="tbrowser" unit="podman-torrent-browser.service"
|
||||||
|
service display-name="seas" unit="podman-trainsmission-openvpn.service"
|
||||||
|
service display-name="tailscale" unit="tailscaled.service"
|
||||||
|
service display-name="firewall" unit="firewall.service"
|
||||||
|
service display-name="endlessh" unit="endlessh.service"
|
||||||
|
}
|
||||||
|
uptime prefix="up"
|
||||||
|
memory swap-pos="beside"
|
||||||
|
last-login {
|
||||||
|
user username="marcel" num-logins=2
|
||||||
|
}
|
||||||
|
filesystems {
|
||||||
|
filesystem name="root" mount-point="/"
|
||||||
|
}
|
||||||
|
load-avg format="Load (1, 5, 15 min.): {one:.02}, {five:.02}, {fifteen:.02}"
|
||||||
|
}
|
||||||
@@ -5,4 +5,5 @@
|
|||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{config, pkgs, ...}:
|
{config, pkgs, ...}:
|
||||||
{
|
{
|
||||||
security.polkit = {
|
security.polkit.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,30 +5,33 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
../packages/rust-motd/rust-motd.nix
|
../packages/rust-motd/rust-motd.nix
|
||||||
|
|
||||||
../services/samba.nix
|
../services/samba.nix
|
||||||
../services/openssh.nix
|
../services/openssh.nix
|
||||||
../services/endlessh.nix
|
../services/endlessh.nix
|
||||||
# ./services/currents.nix
|
../services/podman.nix
|
||||||
#. ./services/tailscale.nix.
|
# ./services/currents.nix
|
||||||
|
#. ./services/tailscale.nix.
|
||||||
|
|
||||||
# ./services/containerization/currents.nix
|
# ./services/containerization/currents.nix
|
||||||
../services/containerization/docker.nix
|
../services/containerization/docker.nix
|
||||||
../services/containerization/mealie.nix
|
../services/containerization/mealie-2.nix
|
||||||
../services/containerization/transtun.nix
|
../services/containerization/transtun.nix
|
||||||
../services/containerization/stirlingpdf.nix
|
../services/containerization/stirlingpdf.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
networking.hostName = "hoardfrost"; # Define your hostname.
|
networking.hostName = "hoardfrost"; # Define your hostname.
|
||||||
@@ -68,8 +71,30 @@
|
|||||||
};
|
};
|
||||||
networking.firewall.enable = true;
|
networking.firewall.enable = true;
|
||||||
networking.firewall.allowPing = true;
|
networking.firewall.allowPing = true;
|
||||||
networking.firewall.allowedTCPPorts = [ 22 53 137 138 139 389 445 2022 8080 5657 41641];
|
networking.firewall.allowedTCPPorts = [
|
||||||
networking.firewall.allowedUDPPorts = [ 22 53 137 138 139 389 445 2022 41641];
|
22
|
||||||
|
53
|
||||||
|
137
|
||||||
|
138
|
||||||
|
139
|
||||||
|
389
|
||||||
|
445
|
||||||
|
2022
|
||||||
|
8080
|
||||||
|
5657
|
||||||
|
41641
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
22
|
||||||
|
53
|
||||||
|
137
|
||||||
|
138
|
||||||
|
139
|
||||||
|
389
|
||||||
|
445
|
||||||
|
2022
|
||||||
|
41641
|
||||||
|
];
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
@@ -78,7 +103,10 @@
|
|||||||
users.autumn = {
|
users.autumn = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "autumn";
|
description = "autumn";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -88,21 +116,18 @@
|
|||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
helix
|
helix
|
||||||
git
|
git
|
||||||
nil
|
nil
|
||||||
inetutils
|
inetutils
|
||||||
nh
|
nh
|
||||||
toybox
|
toybox
|
||||||
nodejs_24
|
nodejs_24
|
||||||
jdk17
|
jdk17
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
rustup
|
||||||
# wget
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
];
|
];
|
||||||
virtualisation.podman = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
|
|||||||
@@ -23,13 +23,14 @@
|
|||||||
command = "hostname | figlet -f sblood";
|
command = "hostname | figlet -f sblood";
|
||||||
};
|
};
|
||||||
weather = {
|
weather = {
|
||||||
loc = "Denver,Colorado";
|
loc = "America,Denver";
|
||||||
style = "full";
|
style = "full";
|
||||||
};
|
};
|
||||||
service_status = {
|
service_status = {
|
||||||
samba = "samba-wsdd.service";
|
samba = "samba-wsdd.service";
|
||||||
openssh = "sshd.service";
|
openssh = "sshd.service";
|
||||||
mealie = "podman-postgres-mealie.service";
|
mealie = "podman-mealie.service";
|
||||||
|
mealiedb = "podman-postgres.service";
|
||||||
stirling = "podman-stirling-pdf.service";
|
stirling = "podman-stirling-pdf.service";
|
||||||
tbrowser = "podman-torrent-browser.service";
|
tbrowser = "podman-torrent-browser.service";
|
||||||
seas = "podman-transmission-openvpn.service";
|
seas = "podman-transmission-openvpn.service";
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
prefix = "up";
|
prefix = "up";
|
||||||
};
|
};
|
||||||
memory = {
|
memory = {
|
||||||
swap_pos = "beside";
|
swap_pos = "none";
|
||||||
};
|
};
|
||||||
last_login = {
|
last_login = {
|
||||||
autumn = 2;
|
autumn = 2;
|
||||||
|
|||||||
148
system/services/containerization/mealie-2.nix
Normal file
148
system/services/containerization/mealie-2.nix
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
# Auto-generated by compose2nix.
|
||||||
|
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Containers
|
||||||
|
virtualisation.oci-containers.containers."mealie" = {
|
||||||
|
image = "ghcr.io/mealie-recipes/mealie:v3.6.1";
|
||||||
|
environment = {
|
||||||
|
"ALLOW_SIGNUP" = "false";
|
||||||
|
"BASE_URL" = "https://mealie.yourdomain.com";
|
||||||
|
"DB_ENGINE" = "postgres";
|
||||||
|
"PGID" = "1000";
|
||||||
|
"POSTGRES_DB" = "mealie";
|
||||||
|
"POSTGRES_PASSWORD" = "mealie";
|
||||||
|
"POSTGRES_PORT" = "5432";
|
||||||
|
"POSTGRES_SERVER" = "postgres";
|
||||||
|
"POSTGRES_USER" = "mealie";
|
||||||
|
"PUID" = "1000";
|
||||||
|
"TZ" = "America/Denver";
|
||||||
|
};
|
||||||
|
volumes = [
|
||||||
|
"mealie-data:/app/data:rw"
|
||||||
|
];
|
||||||
|
ports = [
|
||||||
|
"9925:9000/tcp"
|
||||||
|
];
|
||||||
|
dependsOn = [
|
||||||
|
"postgres"
|
||||||
|
];
|
||||||
|
log-driver = "journald";
|
||||||
|
extraOptions = [
|
||||||
|
"--memory=1048576000b"
|
||||||
|
"--network-alias=mealie"
|
||||||
|
"--network=mealieio_default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
systemd.services."podman-mealie" = {
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = lib.mkOverride 90 "always";
|
||||||
|
};
|
||||||
|
after = [
|
||||||
|
"podman-network-mealieio_default.service"
|
||||||
|
"podman-volume-mealieio_mealie-data.service"
|
||||||
|
];
|
||||||
|
requires = [
|
||||||
|
"podman-network-mealieio_default.service"
|
||||||
|
"podman-volume-mealieio_mealie-data.service"
|
||||||
|
];
|
||||||
|
partOf = [
|
||||||
|
"podman-compose-mealieio-root.target"
|
||||||
|
];
|
||||||
|
wantedBy = [
|
||||||
|
"podman-compose-mealieio-root.target"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
virtualisation.oci-containers.containers."postgres" = {
|
||||||
|
image = "postgres:17";
|
||||||
|
environment = {
|
||||||
|
"PGUSER" = "mealie";
|
||||||
|
"POSTGRES_DB" = "mealie";
|
||||||
|
"POSTGRES_PASSWORD" = "mealie";
|
||||||
|
"POSTGRES_USER" = "mealie";
|
||||||
|
};
|
||||||
|
volumes = [
|
||||||
|
"mealie-pgdata:/var/lib/postgresql/data:rw"
|
||||||
|
];
|
||||||
|
log-driver = "journald";
|
||||||
|
extraOptions = [
|
||||||
|
"--health-cmd=[\"pg_isready\"]"
|
||||||
|
"--health-interval=30s"
|
||||||
|
"--health-retries=3"
|
||||||
|
"--health-timeout=20s"
|
||||||
|
"--network-alias=postgres"
|
||||||
|
"--network=mealieio_default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
systemd.services."podman-postgres" = {
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = lib.mkOverride 90 "always";
|
||||||
|
};
|
||||||
|
after = [
|
||||||
|
"podman-network-mealieio_default.service"
|
||||||
|
"podman-volume-mealieio_mealie-pgdata.service"
|
||||||
|
];
|
||||||
|
requires = [
|
||||||
|
"podman-network-mealieio_default.service"
|
||||||
|
"podman-volume-mealieio_mealie-pgdata.service"
|
||||||
|
];
|
||||||
|
partOf = [
|
||||||
|
"podman-compose-mealieio-root.target"
|
||||||
|
];
|
||||||
|
wantedBy = [
|
||||||
|
"podman-compose-mealieio-root.target"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Networks
|
||||||
|
systemd.services."podman-network-mealieio_default" = {
|
||||||
|
path = [ pkgs.podman ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
ExecStop = "podman network rm -f mealieio_default";
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
podman network inspect mealieio_default || podman network create mealieio_default
|
||||||
|
'';
|
||||||
|
partOf = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
wantedBy = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Volumes
|
||||||
|
systemd.services."podman-volume-mealieio_mealie-data" = {
|
||||||
|
path = [ pkgs.podman ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
podman volume inspect mealieio_mealie-data || podman volume create mealieio_mealie-data
|
||||||
|
'';
|
||||||
|
partOf = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
wantedBy = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
};
|
||||||
|
systemd.services."podman-volume-mealieio_mealie-pgdata" = {
|
||||||
|
path = [ pkgs.podman ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
podman volume inspect mealieio_mealie-pgdata || podman volume create mealieio_mealie-pgdata
|
||||||
|
'';
|
||||||
|
partOf = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
wantedBy = [ "podman-compose-mealieio-root.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Root service
|
||||||
|
# When started, this will automatically create all resources and start
|
||||||
|
# the containers. When stopped, this will teardown all resources.
|
||||||
|
systemd.targets."podman-compose-mealieio-root" = {
|
||||||
|
unitConfig = {
|
||||||
|
Description = "Root target generated by compose2nix.";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
7
system/services/mullvad.nix
Normal file
7
system/services/mullvad.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{config, pkgs, ...}:
|
||||||
|
{
|
||||||
|
services.mullvad-vpn = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mullvad-vpn;
|
||||||
|
};
|
||||||
|
}
|
||||||
20
system/services/podman.nix
Normal file
20
system/services/podman.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Runtime
|
||||||
|
virtualisation.podman = {
|
||||||
|
enable = true;
|
||||||
|
autoPrune.enable = true;
|
||||||
|
# dockerCompat = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable container name DNS for all Podman networks.
|
||||||
|
networking.firewall.interfaces = let
|
||||||
|
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
|
||||||
|
in {
|
||||||
|
"${matchAll}".allowedUDPPorts = [ 53 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.backend = "podman";
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
../defaults/system.nix
|
../defaults/system.nix
|
||||||
../defaults/users.nix
|
../defaults/users.nix
|
||||||
|
|
||||||
|
../services/mullvad.nix
|
||||||
../services/swaybg.nix
|
../services/swaybg.nix
|
||||||
|
|
||||||
#system packages
|
#system packages
|
||||||
@@ -31,7 +32,6 @@
|
|||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
10.0.0.217 hoardfrost
|
10.0.0.217 hoardfrost
|
||||||
174.63.4.139 frosty
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.logind.lidSwitchExternalPower = "ignore";
|
services.logind.lidSwitchExternalPower = "ignore";
|
||||||
@@ -63,19 +63,6 @@
|
|||||||
fsType = "cifs";
|
fsType = "cifs";
|
||||||
options = [ "username=autumn" "password=autest" "x-systemd.automount" "noauto"];
|
options = [ "username=autumn" "password=autest" "x-systemd.automount" "noauto"];
|
||||||
};
|
};
|
||||||
hardware.nvidia = {
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
powerManagement.enable = false;
|
|
||||||
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
open = false;
|
|
||||||
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
};
|
|
||||||
# hardware.nvidia.prime.intelBusId = "PCI:0@0:2:0";
|
# hardware.nvidia.prime.intelBusId = "PCI:0@0:2:0";
|
||||||
# hardware.nvidia.prime.nvidiaBusId = "PCI:1@0:0:0";
|
# hardware.nvidia.prime.nvidiaBusId = "PCI:1@0:0:0";
|
||||||
# hardware.nvidia.prime.sync.enable = true;o
|
# hardware.nvidia.prime.sync.enable = true;o
|
||||||
@@ -104,6 +91,8 @@
|
|||||||
gvfs
|
gvfs
|
||||||
vlc
|
vlc
|
||||||
cifs-utils
|
cifs-utils
|
||||||
|
polkit
|
||||||
|
waypaper
|
||||||
# wayland
|
# wayland
|
||||||
# wayland-protocols
|
# wayland-protocols
|
||||||
# libxkbcommon
|
# libxkbcommon
|
||||||
|
|||||||
Reference in New Issue
Block a user