finally fixing the ups, plus tons of formatting
This commit is contained in:
@@ -1,11 +1,4 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
globals,
|
||||
...
|
||||
}:
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
timezone = "America/Chicago";
|
||||
in
|
||||
@@ -99,7 +92,10 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ pinentry-curses ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
nixd
|
||||
pinentry-curses
|
||||
];
|
||||
|
||||
# users.mutableUsers = lib.mkDefault false;
|
||||
|
||||
|
||||
@@ -43,7 +43,10 @@ in
|
||||
|
||||
apps.discover-wrapped.enable = lib.mkDefault false;
|
||||
|
||||
nix.settings.trusted-users = lib.mkDefault [ "root" user ];
|
||||
nix.settings.trusted-users = lib.mkDefault [
|
||||
"root"
|
||||
user
|
||||
];
|
||||
|
||||
services = {
|
||||
# Enable Desktop Environment.
|
||||
@@ -132,7 +135,10 @@ in
|
||||
user.services = {
|
||||
rclone-home-proton = {
|
||||
enable = lib.mkDefault true;
|
||||
path = [ pkgs.bash pkgs.rclone ];
|
||||
path = [
|
||||
pkgs.bash
|
||||
pkgs.rclone
|
||||
];
|
||||
script = ''
|
||||
rclone sync /home/matt proton-drive:backup-nix --exclude '/home/matt/Games/**' --exclude '/home/matt/1TB/**' --exclude '/home/matt/Downloads/**'
|
||||
'';
|
||||
@@ -140,7 +146,11 @@ in
|
||||
|
||||
rsync-home = {
|
||||
enable = lib.mkDefault true;
|
||||
path = [ pkgs.bash pkgs.rsync pkgs.openssh ];
|
||||
path = [
|
||||
pkgs.bash
|
||||
pkgs.rsync
|
||||
pkgs.openssh
|
||||
];
|
||||
script = ''
|
||||
rsync -rtpogvPlHzs --ignore-existing --exclude={'/home/matt/Games', '/home/matt/1TB', '/home/matt/Downloads/*', '/home/matt/.cache'} -e ssh /home/matt admin@10.0.1.18:/media/nas/main/backup/desktop-nix/home
|
||||
'';
|
||||
@@ -207,9 +217,7 @@ in
|
||||
wineWowPackages.waylandFull
|
||||
];
|
||||
|
||||
sessionVariables = lib.mkDefault {
|
||||
STEAM_FORCE_DESKTOPUI_SCALING = "1";
|
||||
};
|
||||
sessionVariables = lib.mkDefault { STEAM_FORCE_DESKTOPUI_SCALING = "1"; };
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
specialisation.cosmic.configuration = {
|
||||
services = {
|
||||
@@ -10,4 +10,4 @@
|
||||
desktopManager.plasma6.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
outputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
{
|
||||
fileSystems."/media/nas/backup" = {
|
||||
device = "//10.0.1.18/Backup";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
specialisation.gnome.configuration = {
|
||||
|
||||
home-manager.users.matt = import ./home.nix;
|
||||
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
desktopManager.gnome.enable = true;
|
||||
@@ -37,4 +37,4 @@
|
||||
|
||||
# xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,4 +29,4 @@
|
||||
"org/gtk/settings/file-chooser".clock-format = "12h";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
shellAliases = {
|
||||
ll = "ls -alh";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
truecolor = true;
|
||||
force_tty = false;
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty";
|
||||
vim_keys = true;
|
||||
vim_keys = true;
|
||||
rounded_corners = true;
|
||||
graph_symbol = "braille";
|
||||
graph_symbol_cpu = "default";
|
||||
@@ -68,4 +68,4 @@
|
||||
log_level = "WARNING";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
"$mod, E, exec, nautilus"
|
||||
"$mod, V, togglefloating, "
|
||||
"$mod, D, exec, nwg-drawer -fm nautilus -term kitty"
|
||||
"$mod, P, pseudo, "# dwindle
|
||||
"$mod, S, togglesplit, "# dwindle
|
||||
"$mod, P, pseudo, " # dwindle
|
||||
"$mod, S, togglesplit, " # dwindle
|
||||
"$mod SHIFT, Q, exec, hyprlock"
|
||||
", PRINT, exec, hyprshot -m region --clipboard-only"
|
||||
"$mod,F,exec,hyprctl dispatch fullscreen active"
|
||||
@@ -93,7 +93,7 @@
|
||||
", mouse:274, movewindow"
|
||||
];
|
||||
|
||||
bindel =[
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
];
|
||||
@@ -123,11 +123,11 @@
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 2;
|
||||
passes = 2;
|
||||
new_optimizations = true;
|
||||
xray = false;
|
||||
enabled = true;
|
||||
size = 2;
|
||||
passes = 2;
|
||||
new_optimizations = true;
|
||||
xray = false;
|
||||
};
|
||||
drop_shadow = "yes";
|
||||
shadow_range = 4;
|
||||
@@ -154,16 +154,16 @@
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = "off";
|
||||
workspace_swipe = "off";
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
force_default_wallpaper = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
@@ -203,7 +203,8 @@
|
||||
"nodim, class:Remote Desktop Connection"
|
||||
"nomaxsize, class:Remote Desktop Connection"
|
||||
"minsize 3840 2160, class:Remote Desktop Connection"
|
||||
];
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"float, class:Vmware-view,title:VMware Horizon Client"
|
||||
"size 3840 2160, class:Remote Desktop Connection"
|
||||
@@ -250,7 +251,7 @@
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = "no";
|
||||
natural_scroll = "no";
|
||||
};
|
||||
|
||||
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
||||
@@ -268,4 +269,4 @@
|
||||
exec-once = [silent] steam
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
borderColor = "#8aadf4";
|
||||
progressColor = "over #363a4f";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
|
||||
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
@@ -13,94 +13,94 @@
|
||||
passthrough = false;
|
||||
gtk-layer-shell = true;
|
||||
height = 0;
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
|
||||
modules-center = [
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
|
||||
modules-right = [
|
||||
"tray"
|
||||
"custom/updates"
|
||||
"keyboard-state#capslock"
|
||||
"keyboard-state#numlock"
|
||||
"pulseaudio"
|
||||
"pulseaudio#microphone"
|
||||
"network"
|
||||
"clock"
|
||||
"custom/weather"
|
||||
"tray"
|
||||
"custom/updates"
|
||||
"keyboard-state#capslock"
|
||||
"keyboard-state#numlock"
|
||||
"pulseaudio"
|
||||
"pulseaudio#microphone"
|
||||
"network"
|
||||
"clock"
|
||||
"custom/weather"
|
||||
];
|
||||
|
||||
"hyprland/window" = {
|
||||
format = {};
|
||||
format = { };
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
on-click = "activate";
|
||||
persistent_workspaces = {
|
||||
"1" = [];
|
||||
};
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
on-click = "activate";
|
||||
persistent_workspaces = {
|
||||
"1" = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
"custom/weather" = {
|
||||
tooltip = true;
|
||||
format = {};
|
||||
interval = 30;
|
||||
exec = "sudo waybar-weather";
|
||||
return-type = "json";
|
||||
tooltip = true;
|
||||
format = { };
|
||||
interval = 30;
|
||||
exec = "sudo waybar-weather";
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
"custom/updates" = {
|
||||
tooltip = true;
|
||||
format = {};
|
||||
interval = 60;
|
||||
exec = "sudo waybar-updates";
|
||||
return-type = "json";
|
||||
tooltip = true;
|
||||
format = { };
|
||||
interval = 60;
|
||||
exec = "sudo waybar-updates";
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = 16;
|
||||
spacing = 10;
|
||||
icon-size = 16;
|
||||
spacing = 10;
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format = "{:%I:%M %p}";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
tooltip = false;
|
||||
format-muted = " Muted";
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol -t 1";
|
||||
on-scroll-up = "pamixer -i 5";
|
||||
on-scroll-down = "pamixer -d 5";
|
||||
scroll-step = 5;
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = ["" "" ""];
|
||||
};
|
||||
format = "{icon} {volume}%";
|
||||
tooltip = false;
|
||||
format-muted = " Muted";
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol -t 1";
|
||||
on-scroll-up = "pamixer -i 5";
|
||||
on-scroll-down = "pamixer -d 5";
|
||||
scroll-step = 5;
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
"pulseaudio#microphone" = {
|
||||
format = "{format_source}";
|
||||
format-source = "🎙{volume}%";
|
||||
format-source-muted = "🎙Muted";
|
||||
on-click = "pamixer --default-source -t";
|
||||
on-click-right = "pavucontrol -t 2";
|
||||
on-scroll-up = "pamixer --default-source -i 5";
|
||||
on-scroll-down = "pamixer --default-source -d 5";
|
||||
scroll-step = 5;
|
||||
format = "{format_source}";
|
||||
format-source = "🎙{volume}%";
|
||||
format-source-muted = "🎙Muted";
|
||||
on-click = "pamixer --default-source -t";
|
||||
on-click-right = "pavucontrol -t 2";
|
||||
on-scroll-up = "pamixer --default-source -i 5";
|
||||
on-scroll-down = "pamixer --default-source -d 5";
|
||||
scroll-step = 5;
|
||||
};
|
||||
|
||||
network = {
|
||||
@@ -299,4 +299,4 @@
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,4 +142,4 @@
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
{
|
||||
sops.defaultSopsFile = ../../secrets/secrets.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
||||
sops.secrets."desktop/matt_password" = {};
|
||||
sops.secrets."desktop/matt_password" = { };
|
||||
sops.secrets."desktop/matt_password".neededForUsers = true;
|
||||
|
||||
sops.secrets."wifi" = {};
|
||||
}
|
||||
sops.secrets."wifi" = { };
|
||||
}
|
||||
|
||||
@@ -2,13 +2,7 @@
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
@@ -91,7 +85,7 @@
|
||||
wget
|
||||
];
|
||||
|
||||
environment.sessionVariables = rec {
|
||||
environment.sessionVariables = {
|
||||
DBX_CONTAINER_MANAGER = "podman";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{ lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [ ./trampoline-apps ];
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ config, ... }:
|
||||
{
|
||||
nas-apps = {
|
||||
beszel.enable = true;
|
||||
|
||||
beszel-agent.enable = true;
|
||||
|
||||
|
||||
collabora = {
|
||||
enable = true;
|
||||
environmentFiles = [ config.sops.secrets."jallen-nas/collabora".path ];
|
||||
@@ -27,10 +20,10 @@
|
||||
|
||||
mariadb = {
|
||||
enable = true;
|
||||
environmentFiles = [
|
||||
environmentFiles = [
|
||||
config.sops.secrets."jallen-nas/mariadb/db_pass".path
|
||||
config.sops.secrets."jallen-nas/mariadb/root_pass".path
|
||||
];
|
||||
];
|
||||
};
|
||||
|
||||
mealie = {
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
configLimit = 5;
|
||||
kernel = pkgs.linuxPackages_latest;
|
||||
|
||||
@@ -3,10 +3,8 @@
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@@ -62,10 +60,6 @@ in
|
||||
|
||||
# Configure environment
|
||||
environment = {
|
||||
# etc."nut/upsd.conf".source = /home/matt/upsd.conf;
|
||||
# etc."nut/upsd.users".source = /home/matt/upsd.users;
|
||||
# etc."nut/upsmon.conf".source = /home/matt/upsmon.conf;
|
||||
|
||||
etc.crypttab.text = ''
|
||||
ssd1 UUID=eff4b19c-aba7-41ab-b452-a8c6654d8754 none tpm2-device=auto
|
||||
ssd2 UUID=c8640e19-6cd9-49d0-a355-bac09d17ea0d none tpm2-device=auto
|
||||
@@ -79,7 +73,7 @@ in
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
||||
sessionVariables = rec {
|
||||
sessionVariables = {
|
||||
CACHIX_AGENT_TOKEN = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlY2RjYjJiNi05YWQ4LTRiYmMtYWEwYS1mNGU5Yzk1ODM2OTMiLCJzY29wZXMiOiJhZ2VudCJ9.8SENqsNZ-UIFV4atm-cZnMT6LR08Iz_raAZi5QVsppo";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,159 +1,102 @@
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
outputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
let
|
||||
defaultOptions = [
|
||||
"compress=zstd"
|
||||
];
|
||||
defaultOptions = [ "compress=zstd" ];
|
||||
in
|
||||
{
|
||||
fileSystems."/media/nas/ssd/nix-app-data" = {
|
||||
device = "/dev/disk/by-uuid/09ac8b6b-e553-4cd8-ae62-8d8c17fe8b0c";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=nix-app-data"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=nix-app-data" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/ssd/ssd_app_data" = {
|
||||
device = "/dev/disk/by-uuid/09ac8b6b-e553-4cd8-ae62-8d8c17fe8b0c";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=ssd_app_data"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=ssd_app_data" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/ssd/mariadb" = {
|
||||
device = "/dev/disk/by-uuid/09ac8b6b-e553-4cd8-ae62-8d8c17fe8b0c";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=mariadb"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=mariadb" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/ssd/VMs" = {
|
||||
device = "/dev/disk/by-uuid/09ac8b6b-e553-4cd8-ae62-8d8c17fe8b0c";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=VMs"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=VMs" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/3d_printer" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=3d_printer"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=3d_printer" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/backup" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=backup"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=backup" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/books" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=books"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=books" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/documents" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=documents"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=documents" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/homeassistant" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=homeassistant"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=homeassistant" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/isos" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=isos"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=isos" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/movies" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=movies"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=movies" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/nextcloud" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=nextcloud"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=nextcloud" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/photos" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=photos"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=photos" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/switch" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=switch"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=switch" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/tv" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=tv"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=tv" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
fileSystems."/media/nas/main/timemachine" = {
|
||||
device = "/dev/disk/by-uuid/76e7cd98-3145-4cff-b78d-bab0206aae28";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"subvol=timemachine"
|
||||
]
|
||||
++ defaultOptions;
|
||||
options = [ "subvol=timemachine" ] ++ defaultOptions;
|
||||
};
|
||||
|
||||
# fileSystems."/media/nas/junk/nextcloud-backup" = {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
@@ -88,15 +87,15 @@
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S3Z1NW0KA10457X-part2";
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S3Z1NW0KA10457X-part2";
|
||||
randomEncryption.enable = true;
|
||||
}
|
||||
{
|
||||
device = "/dev/disk/by-id/ata-SSD2SC240G1SA754D117-820_PNY29140000558890457";
|
||||
{
|
||||
device = "/dev/disk/by-id/ata-SSD2SC240G1SA754D117-820_PNY29140000558890457";
|
||||
randomEncryption.enable = true;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
|
||||
home.username = "admin";
|
||||
@@ -46,33 +46,4 @@
|
||||
};
|
||||
|
||||
programs.command-not-found.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# homepage-dashboard
|
||||
];
|
||||
|
||||
# # Configure homepage-dashboard
|
||||
# home.file.".homepage-dashboard/config.json".text = ''
|
||||
# {
|
||||
# "modules": [
|
||||
# {
|
||||
# "type": "greeting",
|
||||
# "config": {
|
||||
# "greetings": [
|
||||
# "Welcome to My Dashboard!"
|
||||
# ]
|
||||
# }
|
||||
# },
|
||||
# {
|
||||
# "type": "clock"
|
||||
# },
|
||||
# {
|
||||
# "type": "weather",
|
||||
# "config": {
|
||||
# "location": "St. Paul, MN"
|
||||
# }
|
||||
# }
|
||||
# ]
|
||||
# }
|
||||
# '';
|
||||
}
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
LT,
|
||||
config,
|
||||
utils,
|
||||
inputs,
|
||||
...
|
||||
}@args:
|
||||
{ ... }@args:
|
||||
{
|
||||
# Set up impernance configuration for things like bluetooth
|
||||
# In this configuration with /etc and /var/log being persistent, only directories outside of that need to be done here. See hardware configuration for all mountpoints.
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ config, ... }:
|
||||
let
|
||||
hostname = "jallen-nas";
|
||||
ipAddress = "10.0.1.18";
|
||||
@@ -65,7 +58,7 @@ in
|
||||
enable = true;
|
||||
environmentFile = config.sops.secrets."wifi".path;
|
||||
networks = {
|
||||
"Joey's Jungle 5G" = {
|
||||
"Joey's Jungle 5G" = {
|
||||
psk = "@PSK@";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ ... }:
|
||||
{
|
||||
nas-samba = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
enableDisplayManager = false;
|
||||
hostname = "jallen-nas";
|
||||
@@ -195,7 +188,10 @@ in
|
||||
description = "Protonmail Bridge";
|
||||
enable = true;
|
||||
script = "${pkgs.protonmail-bridge}/bin/protonmail-bridge --noninteractive";
|
||||
path = [ pkgs.pass pkgs.protonmail-bridge ];
|
||||
path = [
|
||||
pkgs.pass
|
||||
pkgs.protonmail-bridge
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
partOf = [ "multi-user.target" ];
|
||||
};
|
||||
@@ -204,7 +200,10 @@ in
|
||||
systemd.services = {
|
||||
|
||||
rsync-ssd = {
|
||||
path = [ pkgs.bash pkgs.rsync ];
|
||||
path = [
|
||||
pkgs.bash
|
||||
pkgs.rsync
|
||||
];
|
||||
script = ''
|
||||
rsync -rtpogvPlHzs --ignore-existing /media/nas/ssd /media/nas/main/backup/ssd
|
||||
'';
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{
|
||||
config, ...
|
||||
}:
|
||||
{ config, ... }:
|
||||
{
|
||||
sops.defaultSopsFile = ../../secrets/secrets.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
||||
sops.secrets."jallen-nas/admin_password" = {};
|
||||
sops.secrets."jallen-nas/admin_password" = { };
|
||||
sops.secrets."jallen-nas/admin_password".neededForUsers = true;
|
||||
|
||||
sops.secrets."wifi" = {};
|
||||
sops.secrets."wifi" = { };
|
||||
|
||||
sops.secrets."jallen-nas/ups_password" = {
|
||||
# restartUnits = [ "ups stuff lol" ];
|
||||
};
|
||||
|
||||
sops.secrets."jallen-nas/collabora" = {
|
||||
restartUnits = [ "podman-collabora.service" ];
|
||||
@@ -60,4 +62,4 @@
|
||||
sops.secrets."jallen-nas/nextcloud/smtppassword".mode = "0777";
|
||||
# sops.secrets."jallen-nas/nextcloud/smtppassword".owner = config.users.users.nix-apps.name;
|
||||
# sops.secrets."jallen-nas/nextcloud/smtppassword".group = config.users.users.jallen-nas.group;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,59 +1,46 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ config, ... }:
|
||||
let
|
||||
enableUps = true;
|
||||
upsmonCmd = "nasups@localhost 1 upsuser BogieDudie1 primary";
|
||||
upsName = "nasups";
|
||||
upsName = "nas-ups";
|
||||
upsUser = "nas-admin";
|
||||
in
|
||||
{
|
||||
power.ups = {
|
||||
enable = enableUps;
|
||||
openFirewall = enableUps;
|
||||
mode = "netserver";
|
||||
|
||||
ups = {
|
||||
enable = enableUps;
|
||||
mode = "netserver";
|
||||
ups.upsName = {
|
||||
"${upsName}" = {
|
||||
description = "NAS UPS";
|
||||
driver = "usbhid-ups";
|
||||
port = "auto";
|
||||
description = "NAS UPS";
|
||||
};
|
||||
upsmon = {
|
||||
monitor = upsmonCmd;
|
||||
};
|
||||
upsd = {
|
||||
enable = enableUps;
|
||||
listen = {
|
||||
address = 0.0 0.0 0.0;
|
||||
port = 3493;
|
||||
};
|
||||
};
|
||||
# users = {
|
||||
# actions = [ "SET" ];
|
||||
# instcmds = [ "ALL" ];
|
||||
##* upsmon = "primary";
|
||||
# passwordFile = "/home/matt/ups.conf";
|
||||
# };
|
||||
};
|
||||
|
||||
# Add UPS monitoring service
|
||||
users."${upsUser}" = {
|
||||
passwordFile = config.sops.secrets."jallen-nas/ups_password".path;
|
||||
actions = [ "ALL" ];
|
||||
instcmds = [ "ALL" ];
|
||||
upsmon = "primary";
|
||||
};
|
||||
|
||||
upsmon = {
|
||||
enable = true;
|
||||
# Configure UPS device
|
||||
device = "/dev/usb/hiddev1"; # Change this to your UPS device
|
||||
driver = "usbhid-ups"; # Change this if your UPS uses a different driver
|
||||
# Set UPS monitoring options
|
||||
options = {
|
||||
# NOTIFYCMD = "/path/to/notify-script.sh"; # Path to your notification script
|
||||
POLLFREQ = 5;
|
||||
POLLFREQALERT = 5;
|
||||
HOSTSYNC = "on";
|
||||
DEADTIME = 15;
|
||||
FINALDELAY = 5;
|
||||
enable = enableUps;
|
||||
monitor."${upsName}" = {
|
||||
passwordFile = config.sops.secrets."jallen-nas/ups_password".path;
|
||||
user = upsUser;
|
||||
};
|
||||
};
|
||||
|
||||
upsd = {
|
||||
enable = enableUps;
|
||||
listen = [
|
||||
{
|
||||
address = "0.0.0.0";
|
||||
port = 3493;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,17 +2,12 @@
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
user = "matt";
|
||||
password = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06";
|
||||
SSID = "Joey’s Jungle";
|
||||
SSID = "Joey's Jungle 5G";
|
||||
SSIDpassword = "kR8v&3Qd";
|
||||
interface = "wlan0";
|
||||
timezone = "America/Chicago";
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Portainer
|
||||
virtualisation.oci-containers.containers."portainer" = {
|
||||
autoStart = true;
|
||||
image = "portainer/portainer-ce";
|
||||
ports = [
|
||||
"8000:8000"
|
||||
"9443:9443"
|
||||
];
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock"
|
||||
"/media/T5/docker/config/portainer:/data"
|
||||
];
|
||||
};
|
||||
|
||||
# Jellyfin
|
||||
virtualisation.oci-containers.containers."jellyfin" = {
|
||||
autoStart = true;
|
||||
image = "jellyfin/jellyfin";
|
||||
volumes = [
|
||||
"/media/T5/containers/jellyfin/config:/config"
|
||||
"/media/T5/containers/jellyfin/cache:/cache"
|
||||
"/media/T5/containers/jellyfin/log:/log"
|
||||
"/media/T5/movies:/movies"
|
||||
"/media/T5/tv:/tv"
|
||||
];
|
||||
ports = [ "8096:8096" ];
|
||||
environment = {
|
||||
JELLYFIN_LOG_DIR = "/log";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,13 +1,7 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{ lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
# let
|
||||
# gnome = false;
|
||||
# in
|
||||
{ ... }:
|
||||
{
|
||||
|
||||
home.username = "matt";
|
||||
|
||||
Reference in New Issue
Block a user