mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 09:27:44 -04:00
NixOS restructuring, move common imports to lib
This commit is contained in:
parent
f95cc09e13
commit
d72f1264b2
35 changed files with 33 additions and 92 deletions
15
modules/hosts/common/hm-sops.nix
Normal file
15
modules/hosts/common/hm-sops.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ config, pkgs, hostname, username, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
home-manager
|
||||
];
|
||||
|
||||
sops = {
|
||||
age.keyFile = "${config.users.users.${username}.home}/.config/sops/age/keys.txt";
|
||||
defaultSopsFile = ../hosts/${hostname}/secrets.yaml;
|
||||
secrets = {
|
||||
local_git_config.path = "${config.users.users.${username}.home}/.gitconfig-local";
|
||||
local_private_env.path = "${config.users.users.${username}.home}/.private-env";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
3
modules/hosts/common/linux/apps/hexchat.nix
Normal file
3
modules/hosts/common/linux/apps/hexchat.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
programs.hexchat.enable = true;
|
||||
}
|
||||
3
modules/hosts/common/linux/apps/pidgin.nix
Normal file
3
modules/hosts/common/linux/apps/pidgin.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
programs.pidgin.enable = true;
|
||||
}
|
||||
30
modules/hosts/common/linux/apps/tilix.nix
Normal file
30
modules/hosts/common/linux/apps/tilix.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, pkgs, ... }: with lib.hm.gvariant; {
|
||||
|
||||
dconf.settings = {
|
||||
"com/gexperts/Tilix/profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d" = {
|
||||
background-color = "#272822";
|
||||
background-transparency-percent = 10;
|
||||
badge-color-set = false;
|
||||
bold-color-set = false;
|
||||
cursor-colors-set = false;
|
||||
font = "Hack Nerd Font Mono 12";
|
||||
foreground-color = "#F8F8F2";
|
||||
highlight-colors-set = false;
|
||||
palette = [ "#272822" "#F92672" "#A6E22E" "#F4BF75" "#66D9EF" "#AE81FF" "#A1EFE4" "#F8F8F2" "#75715E" "#F92672" "#A6E22E" "#F4BF75" "#66D9EF" "#AE81FF" "#A1EFE4" "#F9F8F5" ];
|
||||
use-system-font = false;
|
||||
use-theme-colors = false;
|
||||
visible-name = "Default";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/tilix/schemes/Beanbag-Mathias.json".source = ../../files/tilix/Beanbag-Mathias.json;
|
||||
".config/tilix/schemes/Catppuccin-Frappe.json".source = (pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "tilix";
|
||||
rev = "3fd05e03419321f2f2a6aad6da733b28be1765ef";
|
||||
hash = "sha256-SI7QxQ+WBHzeuXbTye+s8pi4tDVZOV4Aa33mRYO276k=";
|
||||
} + "/src/Catppuccin-Frappe.json");
|
||||
};
|
||||
}
|
||||
17
modules/hosts/common/linux/apps/waybar.nix
Normal file
17
modules/hosts/common/linux/apps/waybar.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, ... }: {
|
||||
home.file = {
|
||||
".config/waybar/config".source = ../../files/waybar/config;
|
||||
".config/waybar/frappe.css".source = (pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "waybar";
|
||||
rev = "f74ab1eecf2dcaf22569b396eed53b2b2fbe8aff";
|
||||
hash = "sha256-WLJMA2X20E5PCPg0ZPtSop0bfmu+pLImP9t8A8V4QK8=";
|
||||
} + "/themes/frappe.css");
|
||||
".config/waybar/style.css".source = ../../files/waybar/style.css;
|
||||
};
|
||||
|
||||
programs = {
|
||||
# Using file in ../../files/waybar/ to configure waybar
|
||||
waybar.enable = true;
|
||||
};
|
||||
}
|
||||
46
modules/hosts/common/linux/apps/xfce4-terminal.nix
Normal file
46
modules/hosts/common/linux/apps/xfce4-terminal.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ ... }: {
|
||||
home.file = {
|
||||
".config/xfce4/terminal/accels.scm".source = ../../files/xfce4/terminal/accels.scm;
|
||||
};
|
||||
|
||||
xfconf.settings = {
|
||||
xfce4-terminal = {
|
||||
"background-mode" = "TERMINAL_BACKGROUND_TRANSPARENT";
|
||||
"background-darkness" = "0.90000000000000000";
|
||||
"color-foreground" = "#e3e3ea";
|
||||
"color-background" = "#08052b";
|
||||
"color-cursor" = "#ff7f7f";
|
||||
"color-cursor-use-default" = false;
|
||||
"color-palette" = "#000000;#e52222;#a6e32d;#fc951e;#c48dff;#fa2573;#67d9f0;#f2f2f2;#555555;#ff5555;#55ff55;#ffff55;#5555ff;#ff55ff;#55ffff;#ffffff";
|
||||
"font-name" = "Hack Nerd Font Mono 12";
|
||||
"misc-always-show-tabs" = false;
|
||||
"misc-bell" = false;
|
||||
"misc-bell-urgent" = true;
|
||||
"misc-borders-default" = true;
|
||||
"misc-cursor-blinks" = false;
|
||||
"misc-cursor-shape" = "TERMINAL_CURSOR_SHAPE_BLOCK";
|
||||
"misc-default-geometry" = "120x24";
|
||||
"misc-inherit-geometry" = false;
|
||||
"misc-menubar-default" = true;
|
||||
"misc-mouse-autohide" = false;
|
||||
"misc-mouse-wheel-zoom" = true;
|
||||
"misc-toolbar-default" = false;
|
||||
"misc-confirm-close" = true;
|
||||
"misc-cycle-tabs" = true;
|
||||
"misc-tab-close-buttons" = true;
|
||||
"misc-tab-close-middle-click" = true;
|
||||
"misc-tab-position" = "GTK_POS_TOP";
|
||||
"misc-highlight-urls" = true;
|
||||
"misc-middle-click-opens-uri" = false;
|
||||
"misc-copy-on-select" = false;
|
||||
"misc-show-relaunch-dialog" = true;
|
||||
"misc-rewrap-on-resize" = true;
|
||||
"misc-slim-tabs" = true;
|
||||
"misc-new-tab-adjacent" = false;
|
||||
"misc-search-dialog-opacity" = "100";
|
||||
"misc-show-unsafe-paste-dialog" = true;
|
||||
"scrolling-unlimited" = true;
|
||||
"title-initial" = "xfce4-terminal";
|
||||
};
|
||||
};
|
||||
}
|
||||
20
modules/hosts/common/linux/flatpaks.nix
Normal file
20
modules/hosts/common/linux/flatpaks.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
{ ... }: {
|
||||
services = {
|
||||
flatpak = {
|
||||
enable = true;
|
||||
packages = [
|
||||
"im.riot.Riot"
|
||||
"com.cassidyjames.butler"
|
||||
"com.logseq.Logseq"
|
||||
"com.vivaldi.Vivaldi"
|
||||
"org.signal.Signal"
|
||||
"org.telegram.desktop"
|
||||
];
|
||||
update.auto = {
|
||||
enable = true;
|
||||
onCalendar = "daily";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
17
modules/hosts/common/linux/home.nix
Normal file
17
modules/hosts/common/linux/home.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
fastfetch
|
||||
];
|
||||
|
||||
programs = {
|
||||
# Linux-specific aliases
|
||||
zsh.shellAliases = {
|
||||
nixboot = "sudo nixos-rebuild boot --flake ~/repos/dots && echo 'Time to reboot!'";
|
||||
nixdiff = "cd ~/repos/dots && nixos-rebuild build --flake . && nvd diff /run/current-system result";
|
||||
nixup = "sudo nixos-rebuild switch --flake ~/repos/dots";
|
||||
uwgconnect = "nmcli dev wifi connect SecureWest password";
|
||||
uwgforget = "nmcli connection delete SecureWest";
|
||||
ykey = "sudo systemctl restart pcscd && sudo pkill -9 gpg-agent && source ~/.zshrc; ssh-add -L";
|
||||
};
|
||||
};
|
||||
}
|
||||
17
modules/hosts/common/linux/internationalisation.nix
Normal file
17
modules/hosts/common/linux/internationalisation.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ ... }: {
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
||||
26
modules/hosts/common/linux/lets-encrypt.nix
Normal file
26
modules/hosts/common/linux/lets-encrypt.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ config, username, ... }: {
|
||||
|
||||
##########################################################################
|
||||
# #
|
||||
# This module sets up Let's Encrypt certs via a DNS challenge to Gandi #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "lets-encrypt@technicalissues.us";
|
||||
credentialFiles = { "GANDIV5_API_KEY_FILE" = "${config.sops.secrets.gandi_api.path}"; };
|
||||
#credentialFiles = { "GANDIV5_PERSONAL_ACCESS_TOKEN_FILE" = gandi_dns_pat; };
|
||||
dnsProvider = "gandiv5";
|
||||
dnsResolver = "ns1.gandi.net";
|
||||
# uncomment below for testing
|
||||
#server = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||
};
|
||||
};
|
||||
|
||||
sops = {
|
||||
age.keyFile = "${config.users.users.${username}.home}/.config/sops/age/keys.txt";
|
||||
secrets.gandi_api.sopsFile = ../secrets.yaml;
|
||||
};
|
||||
}
|
||||
28
modules/hosts/common/linux/restic.nix
Normal file
28
modules/hosts/common/linux/restic.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
restic
|
||||
];
|
||||
|
||||
sops.secrets = {
|
||||
restic_env.sopsFile = ../secrets.yaml;
|
||||
restic_repo.sopsFile = ../secrets.yaml;
|
||||
restic_password.sopsFile = ../secrets.yaml;
|
||||
};
|
||||
|
||||
services.restic.backups = {
|
||||
daily = {
|
||||
initialize = true;
|
||||
|
||||
environmentFile = config.sops.secrets.restic_env.path;
|
||||
repositoryFile = config.sops.secrets.restic_repo.path;
|
||||
passwordFile = config.sops.secrets.restic_password.path;
|
||||
|
||||
pruneOpts = [
|
||||
"--keep-daily 7"
|
||||
"--keep-weekly 5"
|
||||
"--keep-monthly 6"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
11
modules/hosts/darwin/AirPuppet/gene.nix
Normal file
11
modules/hosts/darwin/AirPuppet/gene.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ username, ... }: {
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
sops = {
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
local_git_config.path = "/Users/${username}/.gitconfig-local";
|
||||
local_private_env.path = "/Users/${username}/.private-env";
|
||||
};
|
||||
};
|
||||
}
|
||||
23
modules/hosts/darwin/AirPuppet/secrets.yaml
Normal file
23
modules/hosts/darwin/AirPuppet/secrets.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
local_git_config: ENC[AES256_GCM,data:9jIVTh6nqDGcKj716fyUuXy+6XtmeausivGSyCjZzRCJK57qEqDjmSE=,iv:K8Va81ikBySImejlq9BJAHfwKMZ87BId75HyX/fO73M=,tag:S8DH6Ue66YeQpY4QXBM7SQ==,type:str]
|
||||
local_private_env: ""
|
||||
tailscale_key: ENC[AES256_GCM,data:me57xxTIe9UUTMaS89FTZEH4q2PBjOkKnLU6gxtecttKG4NpxX8UhTRB9V9sUVHhOd9Ap6V1iHA=,iv:laPC5cs2BDzLgHvvvnXG7bhNsZkg/3NEskM2WNp45ys=,tag:FrlDqiaf0arcmZ2jfvadUA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1awdf9h0avajf57cudx0rjfmxu2wlxw8wf3sa7yvfk8rp4j6taecsu74x77
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBL3RFM2VkTy9IODJTeDJD
|
||||
S1lSYlV6bi93Y0RFd3ZLRTZQblA0Vm5CdEFnCmU5QkVkdmx0cHQ1bjkxa2k1YTVp
|
||||
dzluekNVNVhuY2dMVGp5ZUlFV1hkL1EKLS0tIENEdUUzaXdqbEpvV3picVc0Vlpx
|
||||
U2RiQ1NML0k3R09DNnZMTVdpZkdKbjQK1S6OLzASOC9zcsRPVK4uLrfgjkyouECJ
|
||||
rdM/gP2BCk9vLWuC+RVEKl7+H9PDQZv14NVYity6q3LqLNasEGjR3w==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2023-12-19T02:57:53Z"
|
||||
mac: ENC[AES256_GCM,data:dzwtvFMDXtiC8dSLjzlgURt/Z9cg8vv90P5b8iV7nb5iKy8FyzCRamTacUCeWNwhXngxAKiHYqonDka8BjvBT1K9sgsz3x2miOfV97gt1DWyOV5Ai0LLp6QwB3rWGaMGWWBFEmJviv4iAE+RRCnhdJHVYQJqRf1BLCudv/VxbNs=,iv:mVnV2uhg/yPMvnNkimz9iFwcHA5hWyk4nrFEreco+fQ=,tag:+98Ww009PUChzirtnWZ8pA==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
19
modules/hosts/darwin/Blue-Rock/gene.liverman.nix
Normal file
19
modules/hosts/darwin/Blue-Rock/gene.liverman.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ username, ... }: {
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
programs = {
|
||||
go = {
|
||||
enable = true;
|
||||
goPath = "go";
|
||||
};
|
||||
k9s.enable = true;
|
||||
};
|
||||
|
||||
sops = {
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
local_git_config.path = "/Users/${username}/.gitconfig-local";
|
||||
local_private_env.path = "/Users/${username}/.private-env";
|
||||
};
|
||||
};
|
||||
}
|
||||
23
modules/hosts/darwin/Blue-Rock/secrets.yaml
Normal file
23
modules/hosts/darwin/Blue-Rock/secrets.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
tailscale_key: ENC[AES256_GCM,data:7XXDKJ/x/8F5HabD7dYE4OE8kLMUjkxCp5eBnVayErPpobo+/4P2DC6ZAUlnaxllHpFMPMQE82S4,iv:aRUvoHuwNa3kOnH38foY/dfZl3JH8LyQsZb2qDGACsM=,tag:YL3Dm66WuDIv8KwvYLfjUw==,type:str]
|
||||
local_git_config: ENC[AES256_GCM,data:DC8DzFYGT0H/5t2QhtvSc65WMil+nhj6BUdYujnNqyQJVlRe5DgIgCu280/y,iv:cCWJ9PmqIB8udCVQJfb8w5rPYIq9CWB0smtv+jiLm/o=,tag:5eeaHfPr6Y6B30CB7Yidqw==,type:str]
|
||||
local_private_env: ENC[AES256_GCM,data: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,iv:5QFo6plAER9KIfdgCPUZ6eoCj21ZNVMTPHzkFa9pyyM=,tag:jtSMqL/pWRTEAdBA65rAWw==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1rt72txg22w8y3cdvq9w7zff0cas6xtkplpj36kxnevfnrtn82f6ss7yw7d
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTd1Rzb3dKZW45MUgzVVZV
|
||||
RTVCb201dGthUWZTYXpJbks3anh5THBBbFFJCnl2TkdLQnVwM1RJSy9xNzQ3SURs
|
||||
MWRZbm41dUJiUTNhN1VuSnRCbktvUzgKLS0tIFdTODVoRkhJSnBPM0o1dlhyUTlU
|
||||
b3U5ZWtYNXgzQXljYU5DSlJkUitjUGMKMtV3Q3X9Hn/ILCm5Wf9rt5YezT76Nnrn
|
||||
XYbIIVIglNfgaS4iVgQhMOPh+yLJ5P+swFSt6/vrDH72LUFA9YNxSw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-01-24T20:32:57Z"
|
||||
mac: ENC[AES256_GCM,data:XSC57mPGZcUDUFbK8cq/MBfWzuks6t2EH1gMRVGpDc622TpsYOEicTLWoFXJ8TkEcW5Yftg7/VLzvAnJPdkn2WYe9gER2PJTCfbwJIBXc0X+rUHvf+hYzawH6n2u46nxUXrGLtq0pttvPqzFtBpW359jTV0+F+li7KKNDq3cAKY=,iv:7jyOL3W9GgdUzisfHqzXM41oJyhpJVAFCnm1pybcFTI=,tag:nObBoCO+QFOCAa3bHb6mKQ==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
|
|
@ -1,10 +1,5 @@
|
|||
{ username, ... }: {
|
||||
home.stateVersion = "23.11";
|
||||
imports = [
|
||||
../home.nix
|
||||
../../common
|
||||
../../common/all-gui.nix
|
||||
];
|
||||
|
||||
programs = {
|
||||
go = {
|
||||
|
|
|
|||
30
modules/hosts/nixos/bigboy/gene.nix
Normal file
30
modules/hosts/nixos/bigboy/gene.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ ... }: {
|
||||
home.stateVersion = "24.05";
|
||||
imports = [
|
||||
../../common/all-gui.nix
|
||||
../../common/linux/apps/tilix.nix
|
||||
../../common/linux/apps/xfce4-terminal.nix
|
||||
];
|
||||
|
||||
programs = {
|
||||
vscode = {
|
||||
enable = true;
|
||||
};
|
||||
wezterm = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
-- This will hold the configuration.
|
||||
local config = wezterm.config_builder()
|
||||
|
||||
-- This is where you actually apply your config choices
|
||||
|
||||
-- For example, changing the color scheme:
|
||||
config.color_scheme = 'AdventureTime'
|
||||
|
||||
-- and finally, return the configuration to wezterm
|
||||
return config
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
81
modules/hosts/nixos/default.nix
Normal file
81
modules/hosts/nixos/default.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ hostname, pkgs, username, ... }: {
|
||||
imports = [
|
||||
../common/linux/internationalisation.nix
|
||||
];
|
||||
|
||||
environment = {
|
||||
shells = with pkgs; [ bash zsh ];
|
||||
systemPackages = with pkgs; [
|
||||
age
|
||||
dconf2nix
|
||||
file
|
||||
iftop
|
||||
inetutils
|
||||
iotop
|
||||
neofetch
|
||||
python3
|
||||
sops
|
||||
ssh-to-age
|
||||
sysstat
|
||||
tailscale
|
||||
unzip
|
||||
wget
|
||||
xidel
|
||||
];
|
||||
};
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
fonts.packages = with pkgs; [
|
||||
font-awesome
|
||||
(nerdfonts.override {
|
||||
fonts = [
|
||||
"Hack"
|
||||
"SourceCodePro"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
networking.hostName = "${hostname}";
|
||||
|
||||
nix.settings = {
|
||||
allowed-users = [ "${username}" ];
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
# extra-substituters = [
|
||||
# ];
|
||||
# extra-trusted-public-keys = [
|
||||
# ];
|
||||
substituters = [
|
||||
"https://cache.nixos.org" # default one
|
||||
"https://cache.flox.dev"
|
||||
"https://cosmic.cachix.org/"
|
||||
"https://nixpkgs-terraform.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # default one
|
||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
||||
"flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
|
||||
"nixpkgs-terraform.cachix.org-1:8Sit092rIdAVENA3ZVeH9hzSiqI/jng6JiCrQ1Dmusw="
|
||||
];
|
||||
trusted-users = [ "${username}" ];
|
||||
};
|
||||
|
||||
programs = {
|
||||
bandwhich.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
};
|
||||
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
}
|
||||
3
modules/hosts/nixos/hetznix01/gene.nix
Normal file
3
modules/hosts/nixos/hetznix01/gene.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
home.stateVersion = "24.05";
|
||||
}
|
||||
|
|
@ -2,8 +2,8 @@
|
|||
domain = "technicalissues.us";
|
||||
in {
|
||||
imports = [
|
||||
../../../../system/common/linux/lets-encrypt.nix
|
||||
../../../../system/common/linux/restic.nix
|
||||
../../../common/linux/lets-encrypt.nix
|
||||
../../../common/linux/restic.nix
|
||||
./matrix-synapse.nix
|
||||
./nginx.nix
|
||||
];
|
||||
|
|
|
|||
3
modules/hosts/nixos/hetznix02/gene.nix
Normal file
3
modules/hosts/nixos/hetznix02/gene.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
home.stateVersion = "24.05";
|
||||
}
|
||||
|
|
@ -118,6 +118,7 @@
|
|||
description = "Gene Liverman";
|
||||
extraGroups = [ "wheel" ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFvLaPTfG3r+bcbI6DV4l69UgJjnwmZNCQk79HXyf1Pt gene@rainbow-planet"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIp42X5DZ713+bgbOO+GXROufUFdxWo7NjJbGQ285x3N gene.liverman@ltnglobal.com"
|
||||
];
|
||||
};
|
||||
|
|
|
|||
3
modules/hosts/nixos/nixnas1/gene.nix
Normal file
3
modules/hosts/nixos/nixnas1/gene.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
home.stateVersion = "24.05";
|
||||
}
|
||||
|
|
@ -9,8 +9,8 @@ in {
|
|||
./hardware-configuration.nix
|
||||
./containers/audiobookshelf.nix
|
||||
./containers/psitransfer.nix
|
||||
../../../system/common/linux/lets-encrypt.nix
|
||||
../../../system/common/linux/restic.nix
|
||||
../../common/linux/lets-encrypt.nix
|
||||
../../common/linux/restic.nix
|
||||
];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
|
|
|
|||
3
modules/hosts/nixos/nixnuc/gene.nix
Normal file
3
modules/hosts/nixos/nixnuc/gene.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ ... }: {
|
||||
home.stateVersion = "23.11";
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{ inputs, config, pkgs, username, ... }: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../../system/common/linux/flatpaks.nix
|
||||
../../common/linux/flatpaks.nix
|
||||
];
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
|
|
|
|||
231
modules/hosts/nixos/rainbow-planet/gene.nix
Normal file
231
modules/hosts/nixos/rainbow-planet/gene.nix
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
{ pkgs, ... }: {
|
||||
home.stateVersion = "23.11";
|
||||
imports = [
|
||||
../../common/all-gui.nix
|
||||
../../common/linux/apps/hexchat.nix
|
||||
../../common/linux/apps/pidgin.nix
|
||||
../../common/linux/apps/tilix.nix
|
||||
../../common/linux/apps/waybar.nix
|
||||
../../common/linux/apps/xfce4-terminal.nix
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".config/hypr/frappe.conf".source = (pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "hyprland";
|
||||
rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
|
||||
hash = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
|
||||
} + "/themes/frappe.conf");
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
frame_color = "#8CAAEE";
|
||||
separator_color= "frame";
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
background = "#303446";
|
||||
foreground = "#C6D0F5";
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
background = "#303446";
|
||||
foreground = "#C6D0F5";
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
background = "#303446";
|
||||
foreground = "#C6D0F5";
|
||||
frame_color = "#EF9F76";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Catppuccin Theme
|
||||
source = "~/.config/hypr/frappe.conf";
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor = ",preferred,auto,auto";
|
||||
|
||||
exec-once = [
|
||||
"waybar & dunst & ulauncher"
|
||||
|
||||
# start polkit-kde-agent
|
||||
"/nix/store/$(ls -la /nix/store | grep polkit-kde-agent | grep '^d' | awk '{print $9}')/libexec/polkit-kde-authentication-agent-1"
|
||||
];
|
||||
|
||||
# Some default env vars.
|
||||
env = "XCURSOR_SIZE,24";
|
||||
|
||||
input = {
|
||||
follow_mouse = 1;
|
||||
|
||||
kb_layout = "us";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "";
|
||||
kb_rules = "";
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = "no";
|
||||
};
|
||||
|
||||
# -1.0 - 1.0, 0 means no modification.
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
general = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = "rgba(595959aa)";
|
||||
gaps_in = 5;
|
||||
gaps_out = 20;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
};
|
||||
"col.shadow" = "rgba(1a1a1aee)";
|
||||
drop_shadow = "yes";
|
||||
rounding = 10;
|
||||
shadow_range = 4;
|
||||
shadow_render_power = 3;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
|
||||
# master switch for pseudotiling.
|
||||
# Enabling is bound to mainMod + P in the keybinds section below
|
||||
pseudotile = "yes";
|
||||
|
||||
preserve_split = "yes"; # you probably want this
|
||||
};
|
||||
|
||||
master = {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = "off";
|
||||
};
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||
device = {
|
||||
name = "epic-mouse-v1";
|
||||
sensitivity = "-0.5";
|
||||
};
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = [
|
||||
"$mainMod, T, exec, tilix"
|
||||
"$mainMod, Return, exec, xfce4-terminal"
|
||||
"$mainMod, F, exec, firefox"
|
||||
"$mainMod, S, exec, slack"
|
||||
"$mainMod, C, killactive,"
|
||||
"$mainMod, M, exit,"
|
||||
"$mainMod, E, exec, nautilus"
|
||||
"$mainMod, V, togglefloating,"
|
||||
"$mainMod, space, exec, ulauncher-toggle"
|
||||
"$mainMod, P, pseudo," # dwindle
|
||||
"$mainMod, J, togglesplit," # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
|
||||
# Laptop keys along the top
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86MonBrightnessUp, exec, brightnessctl set +5%"
|
||||
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||
];
|
||||
|
||||
binde = [
|
||||
# Example volume button that allows press and hold, volume limited to 100%
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
}; # end settings
|
||||
}; # end hyprland
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue