Add nexus host

This commit is contained in:
Jeffrey Serio 2023-07-04 08:51:21 -05:00
parent 7713d5a8db
commit b6cd005566
11 changed files with 856 additions and 130 deletions

View File

@ -4,13 +4,6 @@
lib,
...
}: {
# Let 'nixos-version --json' know about the Git revision
# of this flake.
system.configurationRevision =
if (inputs.self ? rev)
then inputs.self.rev
else throw "Refuse to build: git tree is dirty.";
system.stateVersion = "22.11";
# Networking

351
hosts/evergloam/dconf.nix Normal file
View File

@ -0,0 +1,351 @@
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
{lib, ...}:
with lib.hm.gvariant; {
dconf.settings = {
"com/github/repsac-by/quake-mode" = {
quake-mode-focusout = true;
quake-mode-height = 76;
quake-mode-hide-from-overview = false;
quake-mode-monitor = 1;
quake-mode-width = 100;
};
"com/github/repsac-by/quake-mode/accelerators" = {
quake-mode-accelerator-1 = ["<Alt>z"];
};
"com/github/repsac-by/quake-mode/apps" = {
app-1 = "org.gnome.Terminal.desktop";
};
"org/gnome/Console" = {
font-scale = 1.1;
};
"org/gnome/Totem" = {
active-plugins = ["save-file" "recent" "autoload-subtitles" "open-directory" "vimeo" "screensaver" "rotation" "screenshot" "variable-rate" "movie-properties" "mpris" "apple-trailers" "skipto"];
subtitle-encoding = "UTF-8";
};
"org/gnome/control-center" = {
last-panel = "background";
window-state = mkTuple [980 640];
};
"org/gnome/desktop/app-folders" = {
folder-children = ["Utilities" "YaST"];
};
"org/gnome/desktop/app-folders/folders/Utilities" = {
apps = ["gnome-abrt.desktop" "gnome-system-log.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.Dictionary.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.eog.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.fonts.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" "vinagre.desktop"];
categories = ["X-GNOME-Utilities"];
name = "X-GNOME-Utilities.directory";
translate = true;
};
"org/gnome/desktop/app-folders/folders/YaST" = {
categories = ["X-SuSE-YaST"];
name = "suse-yast.directory";
translate = true;
};
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
picture-uri-dark = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
primary-color = "#000000000000";
secondary-color = "#000000000000";
};
"org/gnome/desktop/input-sources" = {
sources = [(mkTuple ["xkb" "us"])];
xkb-options = ["terminate:ctrl_alt_bksp"];
};
"org/gnome/desktop/interface" = {
clock-format = "12h";
clock-show-weekday = true;
color-scheme = "prefer-dark";
cursor-theme = "Catppuccin-Mocha-Red-Cursors";
document-font-name = "Rubik 12";
font-antialiasing = "rgba";
font-hinting = "slight";
font-name = "Rubik 12";
gtk-theme = "Catppuccin-Mocha-Standard-Red-dark";
icon-theme = "Papirus-Dark";
monospace-font-name = "JetBrainsMono Nerd Font Mono 12";
show-battery-percentage = true;
text-scaling-factor = 1.2;
};
"org/gnome/desktop/notifications" = {
application-children = ["org-gnome-epiphany" "gnome-power-panel" "firefox" "org-gnome-nautilus" "com-nextcloud-desktopclient-nextcloud" "gnome-network-panel"];
show-in-lock-screen = false;
};
"org/gnome/desktop/notifications/application/com-nextcloud-desktopclient-nextcloud" = {
application-id = "com.nextcloud.desktopclient.nextcloud.desktop";
};
"org/gnome/desktop/notifications/application/firefox" = {
application-id = "firefox.desktop";
};
"org/gnome/desktop/notifications/application/gnome-network-panel" = {
application-id = "gnome-network-panel.desktop";
};
"org/gnome/desktop/notifications/application/gnome-power-panel" = {
application-id = "gnome-power-panel.desktop";
};
"org/gnome/desktop/notifications/application/mullvad-vpn" = {
application-id = "mullvad-vpn.desktop";
};
"org/gnome/desktop/notifications/application/org-gnome-epiphany" = {
application-id = "org.gnome.Epiphany.desktop";
};
"org/gnome/desktop/notifications/application/org-gnome-nautilus" = {
application-id = "org.gnome.Nautilus.desktop";
};
"org/gnome/desktop/privacy" = {
disable-camera = true;
disable-microphone = true;
};
"org/gnome/desktop/screensaver" = {
color-shading-type = "solid";
lock-enabled = false;
picture-options = "zoom";
picture-uri = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
primary-color = "#000000000000";
secondary-color = "#000000000000";
};
"org/gnome/desktop/session" = {
idle-delay = mkUint32 300;
};
"org/gnome/desktop/sound" = {
event-sounds = true;
theme-name = "freedesktop";
};
"org/gnome/desktop/wm/keybindings" = {
activate-window-menu = [];
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close";
num-workspaces = 1;
titlebar-font = "Rubik Bold 12";
};
"org/gnome/epiphany" = {
ask-for-default = false;
};
"org/gnome/epiphany/state" = {
is-maximized = false;
window-size = mkTuple [1760 1448];
};
"org/gnome/evolution-data-server" = {
migrated = true;
};
"org/gnome/gnome-screenshot" = {
delay = 0;
include-pointer = false;
last-save-directory = "file:///home/jas/downloads";
};
"org/gnome/mutter" = {
edge-tiling = true;
};
"org/gnome/nautilus/preferences" = {
default-folder-viewer = "icon-view";
migrated-gtk-settings = true;
search-filter-time-type = "last_modified";
};
"org/gnome/nautilus/window-state" = {
initial-size = mkTuple [890 550];
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = false;
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = ["/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Alt>space";
command = "rofi -show";
name = "rofi";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Alt>b";
command = "rofi -show Bookmarks";
name = "rofi Bookmarks";
};
"org/gnome/settings-daemon/plugins/power" = {
idle-dim = false;
sleep-inactive-ac-type = "nothing";
};
"org/gnome/shell" = {
app-picker-layout = "[{'org.gnome.Geary.desktop': <{'position': <0>}>, 'org.gnome.Contacts.desktop': <{'position': <1>}>, 'org.gnome.Weather.desktop': <{'position': <2>}>, 'org.gnome.clocks.desktop': <{'position': <3>}>, 'org.gnome.Maps.desktop': <{'position': <4>}>, 'org.gnome.Extensions.desktop': <{'position': <5>}>, 'org.gnome.Photos.desktop': <{'position': <6>}>, 'org.gnome.Totem.desktop': <{'position': <7>}>, 'org.gnome.Calculator.desktop': <{'position': <8>}>, 'nvim.desktop': <{'position': <9>}>, 'simple-scan.desktop': <{'position': <10>}>, 'org.gnome.Settings.desktop': <{'position': <11>}>, 'gnome-system-monitor.desktop': <{'position': <12>}>, 'nixos-manual.desktop': <{'position': <13>}>, 'nvidia-settings.desktop': <{'position': <14>}>, 'Utilities': <{'position': <15>}>, 'org.gnome.TextEditor.desktop': <{'position': <16>}>, 'yelp.desktop': <{'position': <17>}>, 'org.gnome.Tour.desktop': <{'position': <18>}>, 'org.gnome.Cheese.desktop': <{'position': <19>}>, 'xterm.desktop': <{'position': <20>}>, 'org.gnome.Music.desktop': <{'position': <21>}>, 'org.gnome.Calendar.desktop': <{'position': <22>}>, 'ca.desrt.dconf-editor.desktop': <{'position': <23>}>}, {'emacs.desktop': <{'position': <0>}>, 'emacsclient.desktop': <{'position': <1>}>, 'mullvad-vpn.desktop': <{'position': <2>}>, 'org.gnome.Epiphany.desktop': <{'position': <3>}>}]";
disabled-extensions = ["pop-shell@system76.com"];
enabled-extensions = ["appindicatorsupport@rgcjonas.gmail.com" "openweather-extension@jenslody.de" "pano@elhan.io" "quake-mode@repsac-by.github.com" "system-monitor-next@paradoxxx.zero.gmail.com" "unite@hardpixel.eu" "uptime-indicator@gniourfgniourf.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com"];
favorite-apps = ["org.gnome.Nautilus.desktop" "org.gnome.Terminal.desktop" "firefox.desktop" "org.gnome.tweaks.desktop" "org.gnome.Extensions.desktop" "emacs.desktop" "fi.skyjake.Lagrange.desktop"];
welcome-dialog-last-shown-version = "44.1";
};
"org/gnome/shell/extensions/openweather" = {
city = "41.8755616,-87.6244212>Chicago, Cook County, Illinois, United States>0";
position-in-panel = "center";
pressure-unit = "inHg";
unit = "fahrenheit";
wind-speed-unit = "mph";
};
"org/gnome/shell/extensions/pano" = {
history-length = 50;
paste-on-select = false;
play-audio-on-copy = false;
send-notification-on-copy = false;
sync-primary = true;
};
"org/gnome/shell/extensions/unite" = {
extend-left-box = false;
notifications-position = "center";
window-buttons-placement = "left";
};
"org/gnome/shell/extensions/user-theme" = {
name = "Catppuccin-Mocha-Standard-Red-dark";
};
"org/gnome/terminal/legacy/profiles:" = {
default = "95894cfd-82f7-430d-af6e-84d168bc34f5";
list = ["de8a9081-8352-4ce4-9519-5de655ad9361" "71a9971e-e829-43a9-9b2f-4565c855d664" "5083e06b-024e-46be-9cd2-892b814f1fc8" "95894cfd-82f7-430d-af6e-84d168bc34f5"];
};
"org/gnome/terminal/legacy/profiles:/:5083e06b-024e-46be-9cd2-892b814f1fc8" = {
background-color = "#24273a";
cursor-background-color = "#f4dbd6";
cursor-colors-set = true;
cursor-foreground-color = "#24273a";
foreground-color = "#cad3f5";
highlight-background-color = "#24273a";
highlight-colors-set = true;
highlight-foreground-color = "#5b6078";
palette = ["#494d64" "#ed8796" "#a6da95" "#eed49f" "#8aadf4" "#f5bde6" "#8bd5ca" "#b8c0e0" "#5b6078" "#ed8796" "#a6da95" "#eed49f" "#8aadf4" "#f5bde6" "#8bd5ca" "#a5adcb"];
use-theme-colors = false;
visible-name = "Catppuccin Macchiato";
};
"org/gnome/terminal/legacy/profiles:/:71a9971e-e829-43a9-9b2f-4565c855d664" = {
background-color = "#303446";
cursor-background-color = "#f2d5cf";
cursor-colors-set = true;
cursor-foreground-color = "#303446";
foreground-color = "#c6d0f5";
highlight-background-color = "#303446";
highlight-colors-set = true;
highlight-foreground-color = "#626880";
palette = ["#51576d" "#e78284" "#a6d189" "#e5c890" "#8caaee" "#f4b8e4" "#81c8be" "#b5bfe2" "#626880" "#e78284" "#a6d189" "#e5c890" "#8caaee" "#f4b8e4" "#81c8be" "#a5adce"];
use-theme-colors = false;
visible-name = "Catppuccin Frappe";
};
"org/gnome/terminal/legacy/profiles:/:95894cfd-82f7-430d-af6e-84d168bc34f5" = {
audible-bell = false;
background-color = "#1e1e2e";
cursor-background-color = "#f5e0dc";
cursor-colors-set = true;
cursor-foreground-color = "#1e1e2e";
font = "JetBrainsMono Nerd Font Mono 10";
foreground-color = "#cdd6f4";
highlight-background-color = "#1e1e2e";
highlight-colors-set = true;
highlight-foreground-color = "#585b70";
palette = ["#45475a" "#f38ba8" "#a6e3a1" "#f9e2af" "#89b4fa" "#f5c2e7" "#94e2d5" "#bac2de" "#585b70" "#f38ba8" "#a6e3a1" "#f9e2af" "#89b4fa" "#f5c2e7" "#94e2d5" "#a6adc8"];
scroll-on-output = true;
use-system-font = false;
use-theme-colors = false;
visible-name = "Catppuccin Mocha";
};
"org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9" = {
background-color = "rgb(23,20,33)";
foreground-color = "rgb(208,207,204)";
use-theme-colors = false;
};
"org/gnome/terminal/legacy/profiles:/:de8a9081-8352-4ce4-9519-5de655ad9361" = {
background-color = "#eff1f5";
cursor-background-color = "#dc8a78";
cursor-colors-set = true;
cursor-foreground-color = "#eff1f5";
foreground-color = "#4c4f69";
highlight-background-color = "#eff1f5";
highlight-colors-set = true;
highlight-foreground-color = "#acb0be";
palette = ["#5c5f77" "#d20f39" "#40a02b" "#df8e1d" "#1e66f5" "#ea76cb" "#179299" "#acb0be" "#6c6f85" "#d20f39" "#40a02b" "#df8e1d" "#1e66f5" "#ea76cb" "#179299" "#bcc0cc"];
use-theme-colors = false;
visible-name = "Catppuccin Latte";
};
"org/gnome/tweaks" = {
show-extensions-notice = false;
};
"org/gtk/gtk4/settings/file-chooser" = {
date-format = "regular";
location-mode = "path-bar";
show-hidden = false;
show-size-column = true;
show-type-column = true;
sidebar-width = 140;
sort-column = "name";
sort-directories-first = false;
sort-order = "ascending";
type-format = "category";
view-type = "list";
window-size = mkTuple [944 654];
};
"org/gtk/settings/color-chooser" = {
custom-colors = [(mkTuple [0.411765 2.3529e-2])];
selected-color = mkTuple [true 0.878431];
};
"org/gtk/settings/file-chooser" = {
clock-format = "12h";
date-format = "regular";
location-mode = "path-bar";
show-hidden = false;
show-size-column = true;
show-type-column = true;
sidebar-width = 170;
sort-column = "name";
sort-directories-first = false;
sort-order = "ascending";
type-format = "category";
window-position = mkTuple [344 65];
window-size = mkTuple [1231 902];
};
};
}

View File

@ -4,6 +4,20 @@
##
##
{
inputs,
pkgs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jas = {
imports = [./home.nix ./dconf.nix];
};
};
networking.hosts = {
"10.0.0.191" = ["nexus.local"];
"10.0.0.27" = ["logs.local"];

113
hosts/evergloam/home.nix Normal file
View File

@ -0,0 +1,113 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant; {
home = {
username = "jas";
homeDirectory = "/home/jas";
stateVersion = "23.05";
};
programs.git = {
enable = true;
userEmail = "23226432+hyperreal64@users.noreply.github.com";
userName = "Jeffrey Serio";
extraConfig = {
core = {
editor = "vim";
pager = "diff-so-fancy | less --tabs=4 -RFX";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9129BD07C3509CED";
no-emit-version = true;
no-comments = true;
display-charset = "utf-8";
keyid-format = "0xlong";
with-fingerprint = true;
use-agent = true;
};
};
programs.fzf = {
enable = true;
defaultCommand = "fd --type f";
};
programs.bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-Mocha";
};
};
manual.json.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
documents = "\$HOME/Nextcloud/documents";
download = "\$HOME/downloads";
pictures = "\$HOME/Nextcloud/pictures";
publicShare = "\$HOME/public";
music = "\$HOME/misc/music";
videos = "\$HOME/misc/videos";
templates = "\$HOME/misc/templates";
};
services.nextcloud-client.enable = true;
programs.ssh = {
enable = true;
matchBlocks = {
"nexus.local" = {
hostname = "nexus.local";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"nc.hyperreal.coffee" = {
hostname = "nc.hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"soft-serve" = {
hostname = "soft-serve.local";
port = 23231;
identityFile = "/home/jas/.ssh/id_ed25519";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "red";
};
};
theme = {
name = "Catppuccin-Mocha-Standard-Red-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["red"];
size = "standard";
variant = "mocha";
};
};
};
}

View File

@ -4,6 +4,20 @@
##
##
{
inputs,
pkgs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jas = {
imports = [./dconf.nix ./home.nix];
};
};
networking.hosts = {
"10.0.0.191" = ["nexus.local"];
"10.0.0.27" = ["logs.local"];
@ -28,6 +42,91 @@
};
};
systemd.tmpfiles.rules = [
"L+ /run/gdm/.config/monitors.xml - - - - ${pkgs.writeText "gdm-monitors" ''
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>2</scale>
<monitor>
<monitorspec>
<connector>DP-2</connector>
<vendor>GSM</vendor>
<product>LG Ultra HD</product>
<serial>0x00003868</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>3840</x>
<y>0</y>
<scale>2</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>DP-0</connector>
<vendor>GSM</vendor>
<product>LG Ultra HD</product>
<serial>0x000722dd</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>2</scale>
<monitor>
<monitorspec>
<connector>DP-0</connector>
<vendor>GSM</vendor>
<product>LG Ultra HD</product>
<serial>0x00003868</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>3840</x>
<y>0</y>
<scale>2</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>DP-2</connector>
<vendor>GSM</vendor>
<product>LG Ultra HD</product>
<serial>0x000722dd</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>
''}"
];
zfs-root = {
boot = {
devNodes = "/dev/disk/by-id/";

113
hosts/moonshadow/home.nix Normal file
View File

@ -0,0 +1,113 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant; {
home = {
username = "jas";
homeDirectory = "/home/jas";
stateVersion = "23.05";
};
programs.git = {
enable = true;
userEmail = "23226432+hyperreal64@users.noreply.github.com";
userName = "Jeffrey Serio";
extraConfig = {
core = {
editor = "vim";
pager = "diff-so-fancy | less --tabs=4 -RFX";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9129BD07C3509CED";
no-emit-version = true;
no-comments = true;
display-charset = "utf-8";
keyid-format = "0xlong";
with-fingerprint = true;
use-agent = true;
};
};
programs.fzf = {
enable = true;
defaultCommand = "fd --type f";
};
programs.bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-Mocha";
};
};
manual.json.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
documents = "\$HOME/Nextcloud/documents";
download = "\$HOME/downloads";
pictures = "\$HOME/Nextcloud/pictures";
publicShare = "\$HOME/public";
music = "\$HOME/misc/music";
videos = "\$HOME/misc/videos";
templates = "\$HOME/misc/templates";
};
services.nextcloud-client.enable = true;
programs.ssh = {
enable = true;
matchBlocks = {
"nexus.local" = {
hostname = "nexus.local";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"nc.hyperreal.coffee" = {
hostname = "nc.hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"soft-serve" = {
hostname = "soft-serve.local";
port = 23231;
identityFile = "/home/jas/.ssh/id_ed25519";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "red";
};
};
theme = {
name = "Catppuccin-Mocha-Standard-Red-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["red"];
size = "standard";
variant = "mocha";
};
};
};
}

111
hosts/nexus/default.nix Normal file
View File

@ -0,0 +1,111 @@
##
##
## Per-host configuration for nexus
##
##
{
inputs,
pkgs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.jas = {
imports = [./home.nix];
};
};
networking.firewall.allowedTCPPorts = [22 444 8000 9000 9999 35353 35354];
networking.hosts = {
"10.0.0.27" = ["logs.local"];
"10.0.0.159" = ["truenas.local"];
"10.0.0.223" = ["soft-serve.local"];
};
services.znapzend = {
enable = true;
autoCreation = true;
zetup = {
"rpool/nixos" = {
enable = true;
plan = "1y=>1d";
recursive = true;
destinations.remote = {
host = "root@truenas.local";
dataset = "nas/nexus";
};
};
"si-pool/lxd/containers/debian-archive" = {
enable = true;
plan = "1y=>1d";
recursive = true;
destinations.remote = {
host = "root@truenas.local";
dataset = "nas/debian-archive";
};
};
"si-pool/lxd/containers/debian-serv" = {
enable = true;
plan = "1y=>1d";
recursive = true;
destinations.remote = {
host = "root@truenas.local";
dataset = "nas/debian-serv";
};
};
"si-pool/lxd/containers/ubuntu-mastodon" = {
enable = true;
plan = "1y=>1d";
recursive = true;
destinations.remote = {
host = "root@truenas.local";
dataset = "nas/ubuntu-mastodon";
};
};
};
};
virtualisation.lxc.lxcfs.enable = true;
virtualisation.lxd.enable = true;
users.users.jas = {
extraGroups = ["lxd"];
};
zfs-root = {
boot = {
devNodes = "/dev/disk/by-id/";
bootDevices = ["nvme-Samsung_SSD_980_PRO_1TB_S5P2NL0W208007T"];
immutable = false;
availableKernelModules = ["nvme" "thunderbolt" "xhci_pci" "ahci" "uas" "usbhid" "usb_storage" "sd_mod"];
removableEfi = true;
kernelParams = ["systemd.unified_cgroup_hierarchy=0"];
sshUnlock = {
# read sshUnlock.txt file.
enable = false;
authorizedKeys = [];
};
};
networking = {
# read changeHostName.txt file.
hostName = "nexus";
timeZone = "America/Chicago";
hostId = "1eceb95c";
};
};
# To add more options to per-host configuration, you can create a
# custom configuration module, then add it here.
my-config = {
template.all.packages.enable = true;
template.all.zfs.enable = true;
template.any.system76.enable = true;
template.server.services.enable = true;
};
}

54
hosts/nexus/home.nix Normal file
View File

@ -0,0 +1,54 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant; {
home = {
username = "jas";
homeDirectory = "/home/jas";
stateVersion = "23.05";
};
programs.git = {
enable = true;
userEmail = "23226432+hyperreal64@users.noreply.github.com";
userName = "Jeffrey Serio";
extraConfig = {
core = {
editor = "vim";
pager = "diff-so-fancy | less --tabs=4 -RFX";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9129BD07C3509CED";
no-emit-version = true;
no-comments = true;
display-charset = "utf-8";
keyid-format = "0xlong";
with-fingerprint = true;
use-agent = true;
};
};
programs.fzf = {
enable = true;
defaultCommand = "fd --type f";
};
programs.bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-Mocha";
};
};
manual.json.enable = true;
}

View File

@ -1,3 +1,3 @@
{
imports = [./boot ./fileSystems ./home-manager ./my-config ./networking];
imports = [./boot ./fileSystems ./my-config ./networking];
}

View File

@ -1,122 +0,0 @@
{
config,
pkgs,
inputs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jas = {
imports = [./dconf.nix];
home = {
username = "jas";
homeDirectory = "/home/jas";
stateVersion = "23.05";
};
programs.git = {
enable = true;
userEmail = "23226432+hyperreal64@users.noreply.github.com";
userName = "Jeffrey Serio";
extraConfig = {
core = {
editor = "vim";
pager = "diff-so-fancy | less --tabs=4 -RFX";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9129BD07C3509CED";
no-emit-version = true;
no-comments = true;
display-charset = "utf-8";
keyid-format = "0xlong";
with-fingerprint = true;
use-agent = true;
};
};
programs.fzf = {
enable = true;
defaultCommand = "fd --type f";
};
programs.bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-Mocha";
};
};
manual.json.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
documents = "\$HOME/Nextcloud/documents";
download = "\$HOME/downloads";
pictures = "\$HOME/Nextcloud/pictures";
publicShare = "\$HOME/public";
music = "\$HOME/misc/music";
videos = "\$HOME/misc/videos";
templates = "\$HOME/misc/templates";
};
services.nextcloud-client.enable = true;
programs.ssh = {
enable = true;
matchBlocks = {
"nexus.local" = {
hostname = "nexus.local";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"nc.hyperreal.coffee" = {
hostname = "nc.hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"soft-serve" = {
hostname = "soft-serve.local";
port = 23231;
identityFile = "/home/jas/.ssh/id_ed25519";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "red";
};
};
theme = {
name = "Catppuccin-Mocha-Standard-Red-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["red"];
size = "standard";
variant = "mocha";
};
};
};
};
}