Compare commits
53 Commits
82c1d5d995
...
legacy
| Author | SHA1 | Date | |
|---|---|---|---|
|
18913b9120
|
|||
|
49d0088595
|
|||
|
c2adf02a55
|
|||
|
|
60bfa228e6 | ||
|
4e28e5cbb0
|
|||
|
68943b57ee
|
|||
|
733be4c7c8
|
|||
|
a0245017f7
|
|||
|
5803376722
|
|||
|
a3f2b7d759
|
|||
|
0747d2a784
|
|||
|
852c5ebef8
|
|||
|
783d1bac25
|
|||
|
325310c1ca
|
|||
|
1db4d0c49b
|
|||
|
4d20f2d7a6
|
|||
|
bbd3198976
|
|||
|
d48a3d3925
|
|||
|
c11c4e7482
|
|||
|
e06b93215f
|
|||
|
041307aaea
|
|||
|
1d0ef3d31e
|
|||
|
206cbfb564
|
|||
|
bc85c85592
|
|||
|
569e9698f7
|
|||
|
8eabebb9e8
|
|||
|
58bd63a4c7
|
|||
|
0db42dfcbc
|
|||
|
9236bf36f1
|
|||
|
4fab06b82b
|
|||
|
b5775fd29b
|
|||
|
135c08eda0
|
|||
|
938ab8e83b
|
|||
|
dfff773f7e
|
|||
|
df66535bf1
|
|||
|
b5e2bb933f
|
|||
|
f3e07bad16
|
|||
|
ff4f509d26
|
|||
|
1a5410ec9e
|
|||
|
8daace9b77
|
|||
|
65c42118e2
|
|||
|
ed0b0508bb
|
|||
|
a480aa5804
|
|||
|
70d953b18c
|
|||
|
e767549a57
|
|||
|
3d97f9b5d7
|
|||
|
f10988efba
|
|||
|
7a1d88476e
|
|||
|
530fcb10c3
|
|||
|
7d1bc11b4d
|
|||
|
554d9bf7cf
|
|||
|
8993a09549
|
|||
|
1a1067b0d1
|
2
.bashrc
2
.bashrc
@@ -163,5 +163,5 @@ fi
|
||||
|
||||
# Display a welcome message for interactive shells
|
||||
if [ -t 1 ]; then
|
||||
dotf term
|
||||
dotf hello
|
||||
fi
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
apps=(
|
||||
spotify
|
||||
whatsapp-for-linux
|
||||
telegram-desktop
|
||||
vesktop
|
||||
trayscale
|
||||
1password
|
||||
ulauncher-wrapped
|
||||
"spotify"
|
||||
"whatsapp-for-linux"
|
||||
"telegram-desktop"
|
||||
"vesktop"
|
||||
"trayscale"
|
||||
"1password"
|
||||
"ulauncher-wrapped --no-window-shadow --hide-window"
|
||||
"polkit-agent"
|
||||
"swaync"
|
||||
"nm-applet"
|
||||
"blueman-applet"
|
||||
)
|
||||
|
||||
# check if screen has any dead sessions
|
||||
@@ -17,15 +21,17 @@ fi
|
||||
|
||||
echo "Starting auto-start applications..."
|
||||
for app in "${apps[@]}"; do
|
||||
if [ -x "$(command -v $app)" ]; then
|
||||
if screen -list | grep -q $app; then
|
||||
echo "$app is already running. Skipping..."
|
||||
app_name=$(echo $app | awk '{print $1}')
|
||||
app_params=$(echo $app | cut -d' ' -f2-)
|
||||
|
||||
if [ -x "$(command -v $app_name)" ]; then
|
||||
if screen -list | grep -q $app_name; then
|
||||
echo "$app_name is already running. Skipping..."
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "Starting $app..."
|
||||
screen -dmS $app $app
|
||||
echo "Starting $app_name with parameters $app_params..."
|
||||
screen -dmS $app_name $app_name $app_params
|
||||
sleep 1
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ sys_packages() {
|
||||
nix-channel --update
|
||||
|
||||
printfe "%s\n" "cyan" "Updating nixos flake..."
|
||||
cd $HOME/dotfiles/config/nixos && nix flake update
|
||||
cd $HOME/dotfiles/config/nixos && nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
|
||||
|
||||
# Exit if this failed
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -122,9 +122,16 @@ sys_packages() {
|
||||
return
|
||||
fi
|
||||
|
||||
printfe "%s\n" "cyan" "Updating apt packages..."
|
||||
sudo nala upgrade -y
|
||||
sudo nala autoremove -y --purge
|
||||
if [ -x "$(command -v apt)" ]; then
|
||||
printfe "%s\n" "cyan" "Updating apt packages..."
|
||||
sudo nala upgrade -y
|
||||
sudo nala autoremove -y --purge
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v yum)" ]; then
|
||||
printfe "%s\n" "cyan" "Updating yum packages..."
|
||||
sudo yum update -y
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -163,7 +170,7 @@ flatpakpkgs() {
|
||||
|
||||
homemanager() {
|
||||
printfe "%s\n" "cyan" "Updating Home Manager flake..."
|
||||
cd $HOME/dotfiles/config/home-manager && nix flake update
|
||||
cd $HOME/dotfiles/config/home-manager && nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
|
||||
}
|
||||
|
||||
####################################################################################################
|
||||
|
||||
@@ -40,24 +40,33 @@ fi
|
||||
printfe "%s\n" "cyan" "Limiting to $CORES cores with $JOBS jobs."
|
||||
|
||||
if [[ "$RUN_NIX" == true ]]; then
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
if command -v nixos-rebuild &> /dev/null; then
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
||||
exit 1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Skipping nixos-rebuild, NixOS is not installed."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$RUN_HA" == true ]]; then
|
||||
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
||||
rm -rf $HOME/.config/mimeapps.list.backup
|
||||
if command -v home-manager &> /dev/null; then
|
||||
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
||||
rm -rf $HOME/.config/mimeapps.list.backup
|
||||
|
||||
printfe "%s\n" "cyan" "Upgrading Home Manager packages..."
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch -b backup --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
printfe "%s\n" "cyan" "Upgrading Home Manager packages..."
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager --extra-experimental-features nix-command --extra-experimental-features flakes switch -b backup --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Home Manager is not installed."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
6
bin/dotf
6
bin/dotf
@@ -37,8 +37,8 @@ upgrade() {
|
||||
"$upgrade_script" $@
|
||||
}
|
||||
|
||||
term() {
|
||||
local term_script="$DOTFILES_BIN/actions/term.sh"
|
||||
hello() {
|
||||
local term_script="$DOTFILES_BIN/actions/hello.sh"
|
||||
if [[ ! -x "$term_script" ]]; then
|
||||
printfe "%s\n" "red" "Error: Terminal script not found or not executable"
|
||||
return 1
|
||||
@@ -125,7 +125,7 @@ main() {
|
||||
update) shift; update "$@" ;;
|
||||
upgrade) shift; upgrade "$@" ;;
|
||||
help) shift; help "$@" ;;
|
||||
term) shift; term "$@" ;;
|
||||
hello) shift; hello "$@" ;;
|
||||
secrets) shift; secrets "$@" ;;
|
||||
auto-start) shift; auto_start "$@" ;;
|
||||
*) help ;;
|
||||
|
||||
@@ -6,6 +6,6 @@ Usage: dotf [OPTIONS] [ARGS]
|
||||
upgrade: Runs switch, flake variants for nix switch with upgrade and home-manager.
|
||||
secrets: Encrypt and decrypt secrets.
|
||||
auto-start: Start a set of pre-defined applications.
|
||||
term: Shows the welcome message for the terminal.
|
||||
hello: Shows the welcome message for the terminal.
|
||||
help: Shows this help message
|
||||
|
||||
@@ -1 +1 @@
|
||||
/nix/store/nqbwwlvirdq4xc9n2x9rmkb8bv885n39-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
/nix/store/b21375qzs3rbmhz9wrvyab7jljis7jc3-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
@@ -54,12 +54,16 @@ config:
|
||||
target: ~/.ssh/authorized_keys
|
||||
chmod: 600
|
||||
|
||||
# Ghostty config
|
||||
ghostty:
|
||||
source: ~/dotfiles/config/ghostty.conf
|
||||
target: ~/.config/ghostty/config
|
||||
|
||||
# Starship config
|
||||
starship:
|
||||
source: ~/dotfiles/config/starship.toml
|
||||
target: ~/.config/starship.toml
|
||||
|
||||
|
||||
# Packages to install
|
||||
# Note: Uninstalling packages is not supported, if you remove a package from this list it will not be removed from the system!
|
||||
# Likewise with flatpak remotes, apt repositories, etc.
|
||||
|
||||
10
config/flatpaks/com.ktechpit.whatsie.flatpakref
Normal file
10
config/flatpaks/com.ktechpit.whatsie.flatpakref
Normal file
@@ -0,0 +1,10 @@
|
||||
[Flatpak Ref]
|
||||
Name=com.ktechpit.whatsie
|
||||
Branch=stable
|
||||
Title=com.ktechpit.whatsie from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
GPGKey=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
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
10
config/flatpaks/org.fedoraproject.MediaWriter.flatpakref
Normal file
10
config/flatpaks/org.fedoraproject.MediaWriter.flatpakref
Normal file
@@ -0,0 +1,10 @@
|
||||
[Flatpak Ref]
|
||||
Name=org.fedoraproject.MediaWriter
|
||||
Branch=stable
|
||||
Title=org.fedoraproject.MediaWriter from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
GPGKey=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
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
25
config/ghostty.conf
Normal file
25
config/ghostty.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
# Theme
|
||||
# Try new themes with: `ghostty +list-themes`
|
||||
theme = dark:Adwaita Dark,light:Adwaita
|
||||
|
||||
# Keybinds
|
||||
keybind = ctrl+shift+k=clear_screen
|
||||
|
||||
# Font size keybinds
|
||||
keybind = ctrl+zero=reset_font_size
|
||||
keybind = ctrl+kp_add=increase_font_size:1
|
||||
keybind = ctrl+kp_subtract=decrease_font_size:1
|
||||
|
||||
# Keybinds for moving windows
|
||||
keybind = alt+right=next_tab
|
||||
keybind = alt+left=previous_tab
|
||||
keybind = shift+alt+left=move_tab:-1
|
||||
keybind = shift+alt+right=move_tab:1
|
||||
|
||||
# Window keybinds
|
||||
keybind = ctrl+q=close_window
|
||||
keybind = ctrl+shift+Q=close_all_windows
|
||||
|
||||
|
||||
# Shell integration
|
||||
shell-integration = bash
|
||||
@@ -6,9 +6,6 @@
|
||||
[gpg]
|
||||
format = ssh
|
||||
|
||||
[gpg "ssh"]
|
||||
program = "op-ssh-sign"
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
|
||||
181
config/home-manager/flake.lock
generated
181
config/home-manager/flake.lock
generated
@@ -1,5 +1,62 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ghostty": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"zig": "zig",
|
||||
"zig2nix": "zig2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740954062,
|
||||
"narHash": "sha256-VVsSwi1sTVCL0fijNHqw1hv/546acgxxrTAChl/K254=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "ee8ae196ee0fad3824c7ae9eac947f2128b4ae4f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -7,11 +64,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733572789,
|
||||
"narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=",
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c7ffc9727d115e433fd884a62dc164b587ff651d",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -23,11 +80,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1733808091,
|
||||
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -37,13 +94,45 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1733759999,
|
||||
"narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=",
|
||||
"lastModified": 1738255539,
|
||||
"narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56",
|
||||
"rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "release-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1738136902,
|
||||
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1741010256,
|
||||
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -55,9 +144,79 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"ghostty": "ghostty",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"ghostty"
|
||||
],
|
||||
"flake-utils": [
|
||||
"ghostty",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738239110,
|
||||
"narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "1a8fb6f3a04724519436355564b95fce5e272504",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig2nix": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"ghostty",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738263917,
|
||||
"narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=",
|
||||
"owner": "jcollie",
|
||||
"repo": "zig2nix",
|
||||
"rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jcollie",
|
||||
"ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
|
||||
"repo": "zig2nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ghostty.url = "github:ghostty-org/ghostty";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -17,6 +18,7 @@
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
home-manager,
|
||||
ghostty,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
@@ -31,11 +33,15 @@
|
||||
in
|
||||
{
|
||||
homeConfigurations = {
|
||||
"mennos-gamingpc" = home-manager.lib.homeManagerConfiguration {
|
||||
"mennos-desktop" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
ghostty
|
||||
;
|
||||
isServer = false;
|
||||
hostname = "mennos-gamingpc";
|
||||
};
|
||||
@@ -45,7 +51,10 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
;
|
||||
isServer = true;
|
||||
hostname = "mennos-server";
|
||||
};
|
||||
@@ -55,7 +64,11 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
ghostty
|
||||
;
|
||||
isServer = false;
|
||||
hostname = "mennos-laptop";
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs-unstable; [ ollama ];
|
||||
home.packages = with pkgs-unstable; [ ];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs-unstable; [ ollama-rocm ];
|
||||
home.packages = with pkgs-unstable; [ ];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs-unstable; [ ollama-cuda ];
|
||||
home.packages = with pkgs-unstable; [ ];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs-unstable; [ ollama-cuda ];
|
||||
home.packages = with pkgs-unstable; [ ];
|
||||
}
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Ollama will be installed in the hosts/ configuration depending on what the host is of this system
|
||||
# If none is registered, the fallback will be used which installs ollama without GPU acceleration support.
|
||||
systemd.user.services.ollama = {
|
||||
Unit = {
|
||||
Description = "Ollama Service";
|
||||
After = [ "network.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
# This resolves to for example: /home/menno/.nix-profile/bin/ollama
|
||||
ExecStart = "${config.home.profileDirectory}/bin/ollama serve";
|
||||
Restart = "always";
|
||||
RestartSec = "10";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -27,6 +27,7 @@
|
||||
nixfmt-rfc-style
|
||||
wget
|
||||
fastfetch
|
||||
gpredict
|
||||
|
||||
# Package management
|
||||
pipx
|
||||
@@ -99,6 +100,9 @@
|
||||
|
||||
# Editors
|
||||
neovim
|
||||
## Neovim plugins
|
||||
vimPlugins.LazyVim
|
||||
|
||||
nano
|
||||
micro
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ ];
|
||||
home.packages = with pkgs; [ ddrescue ];
|
||||
}
|
||||
|
||||
6
config/home-manager/packages/workstation/ghostty.nix
Normal file
6
config/home-manager/packages/workstation/ghostty.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ ghostty, pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
ghostty.packages.${pkgs.system}.default
|
||||
];
|
||||
}
|
||||
@@ -15,6 +15,12 @@
|
||||
deja-dup # Backup tool
|
||||
sqlitebrowser # SQLite database manager
|
||||
wmctrl # Window manager control (Used in ulauncher)
|
||||
gparted # Used to nuke Windows off of my system
|
||||
rpi-imager # Raspberry Pi OS image writer
|
||||
pavucontrol # PulseAudio volume control
|
||||
qrencode # qr code generator
|
||||
grimblast # Screenshot tool
|
||||
ptyxis # Terminal emulator
|
||||
|
||||
## Chat Apps
|
||||
telegram-desktop
|
||||
|
||||
7
config/home-manager/packages/workstation/steam.nix
Normal file
7
config/home-manager/packages/workstation/steam.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ pkgs, pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
steamcmd
|
||||
steam-tui
|
||||
];
|
||||
}
|
||||
@@ -16,7 +16,7 @@ let
|
||||
render-on-screen = "mouse-pointer-monitor";
|
||||
show-indicator-icon = true;
|
||||
show-recent-apps = "4";
|
||||
terminal-command = "kgx";
|
||||
terminal-command = "ghostty";
|
||||
theme-name = "dark";
|
||||
};
|
||||
|
||||
@@ -26,7 +26,8 @@ let
|
||||
"name" = "Google Search";
|
||||
"keyword" = "g";
|
||||
"cmd" = "https://google.com/search?q=%s";
|
||||
"icon" = "/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/google-search-icon.png";
|
||||
"icon" =
|
||||
"/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/google-search-icon.png";
|
||||
"is_default_search" = true;
|
||||
"run_without_argument" = false;
|
||||
"added" = 0;
|
||||
@@ -36,7 +37,8 @@ let
|
||||
"name" = "Stack Overflow";
|
||||
"keyword" = "so";
|
||||
"cmd" = "https://stackoverflow.com/search?q=%s";
|
||||
"icon" = "/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/stackoverflow-icon.svg";
|
||||
"icon" =
|
||||
"/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/stackoverflow-icon.svg";
|
||||
"is_default_search" = true;
|
||||
"run_without_argument" = false;
|
||||
"added" = 0;
|
||||
@@ -135,7 +137,8 @@ in
|
||||
xdg.dataFile."applications/ulauncher.desktop".text = desktopEntry;
|
||||
|
||||
# Enable autostart for Ulauncher
|
||||
xdg.configFile."autostart/ulauncher.desktop".source = "${pkgs.ulauncher}/share/applications/ulauncher.desktop";
|
||||
xdg.configFile."autostart/ulauncher.desktop".source =
|
||||
"${pkgs.ulauncher}/share/applications/ulauncher.desktop";
|
||||
|
||||
# Overwrite ulauncher settings and shortcuts
|
||||
home.activation.ulauncher-config = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = {
|
||||
binding = "<Ctrl><Alt>t";
|
||||
command = "kgx";
|
||||
command = "ptyxis --new-window"; # ghostty doesn't work on Fedora atm
|
||||
name = "terminal";
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emotes" = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
54
config/nixos/flake.lock
generated
54
config/nixos/flake.lock
generated
@@ -20,15 +20,14 @@
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"rust-overlay": "rust-overlay"
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733939134,
|
||||
"narHash": "sha256-tsio9mCHdo9zgIzqjiJ6Ze7hk4AKM3nT+K4QJyOZtuA=",
|
||||
"lastModified": 1741055622,
|
||||
"narHash": "sha256-z1y6MSfJ9pntwJ7YCkjNyGnqvYMHMnB9kH3v5Z/g9vQ=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "9502f7621771096901a83e8a2c05e978dfa1644f",
|
||||
"rev": "f3f91440dfd18518445d9ab757cf3e540c7fd6ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -39,11 +38,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1733581040,
|
||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||
"lastModified": 1740828860,
|
||||
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -55,11 +54,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1733412085,
|
||||
"narHash": "sha256-FillH0qdWDt/nlO6ED7h4cmN+G9uXwGjwmCnHs0QVYM=",
|
||||
"lastModified": 1740865531,
|
||||
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4dc2fc4e62dbf62b84132fe526356fbac7b03541",
|
||||
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -71,11 +70,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1733759999,
|
||||
"narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=",
|
||||
"lastModified": 1741010256,
|
||||
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56",
|
||||
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -87,11 +86,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1733808091,
|
||||
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -107,27 +106,6 @@
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixos-cosmic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733625333,
|
||||
"narHash": "sha256-tIML2axjm4AnlKP29upVJxzBpj4Cy4ak+PKonqQtXmc=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "430c8b054e45ea44fd2c9521a378306ada507a6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
# nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -12,7 +12,7 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
# nixos-cosmic,
|
||||
nixos-cosmic,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
@@ -35,16 +35,12 @@
|
||||
./hardware/mennos-laptop.nix
|
||||
./common/workstation.nix
|
||||
./configuration.nix
|
||||
# nixos-cosmic.nixosModules.default
|
||||
# {
|
||||
# nix.settings = {
|
||||
# substituters = [ "https://cosmic.cachix.org/" ];
|
||||
# trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
|
||||
# };
|
||||
# }
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
@@ -56,16 +52,12 @@
|
||||
./hardware/mennos-gamingpc.nix
|
||||
./common/workstation.nix
|
||||
./configuration.nix
|
||||
# nixos-cosmic.nixosModules.default
|
||||
# {
|
||||
# nix.settings = {
|
||||
# substituters = [ "https://cosmic.cachix.org/" ];
|
||||
# trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
|
||||
# };
|
||||
# }
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
|
||||
@@ -60,7 +60,10 @@ in
|
||||
};
|
||||
|
||||
# Enable ZFS support
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
boot.supportedFilesystems = [
|
||||
"ntfs"
|
||||
"zfs"
|
||||
];
|
||||
|
||||
# ZFS system services
|
||||
services.zfs = {
|
||||
|
||||
@@ -2,5 +2,14 @@
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = [
|
||||
./juicefs.nix
|
||||
];
|
||||
|
||||
# Enable JuiceFS
|
||||
services.juicefsCustom = {
|
||||
enable = true;
|
||||
redisUrl = "redis://:your-redis-password@localhost:6379/0";
|
||||
mountPoint = "/mnt/object_storage";
|
||||
cacheDir = "/var/jfsCache";
|
||||
};
|
||||
}
|
||||
|
||||
97
config/nixos/packages/server/juicefs.nix
Normal file
97
config/nixos/packages/server/juicefs.nix
Normal file
@@ -0,0 +1,97 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.juicefsCustom;
|
||||
in {
|
||||
options.services.juicefsCustom = {
|
||||
enable = mkEnableOption "JuiceFS custom mount service";
|
||||
|
||||
mountPoint = mkOption {
|
||||
type = types.str;
|
||||
default = "/mnt/object_storage";
|
||||
description = "Directory where JuiceFS should mount the filesystem";
|
||||
};
|
||||
|
||||
cacheDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/jfsCache";
|
||||
description = "Directory for JuiceFS cache";
|
||||
};
|
||||
|
||||
cacheSize = mkOption {
|
||||
type = types.int;
|
||||
default = 204800;
|
||||
description = "Cache size in MiB";
|
||||
};
|
||||
|
||||
redisUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "redis://:PASSWORD@localhost:6379/0";
|
||||
description = "Redis URL for metadata storage (replace PASSWORD with actual password)";
|
||||
};
|
||||
|
||||
bufferSize = mkOption {
|
||||
type = types.int;
|
||||
default = 1024;
|
||||
description = "Buffer size in MiB";
|
||||
};
|
||||
|
||||
prefetch = mkOption {
|
||||
type = types.int;
|
||||
default = 4;
|
||||
description = "Prefetch size";
|
||||
};
|
||||
|
||||
attrCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Attribute cache expiration time in seconds";
|
||||
};
|
||||
|
||||
entryCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Entry cache expiration time in seconds";
|
||||
};
|
||||
|
||||
openCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Open file cache expiration time in seconds";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Install JuiceFS package
|
||||
environment.systemPackages = [ pkgs.juicefs ];
|
||||
|
||||
# Create the mount and cache directories
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${cfg.mountPoint} 0755 root root -"
|
||||
"d ${cfg.cacheDir} 0755 root root -"
|
||||
];
|
||||
|
||||
# Add the JuiceFS systemd service
|
||||
systemd.services.juicefs = {
|
||||
description = "JuiceFS Mount Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "docker.service" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.juicefs}/bin/juicefs mount ${cfg.redisUrl} ${cfg.mountPoint} "
|
||||
+ "--cache-dir=${cfg.cacheDir} "
|
||||
+ "--buffer-size=${toString cfg.bufferSize} "
|
||||
+ "--prefetch=${toString cfg.prefetch} "
|
||||
+ "--cache-size=${toString cfg.cacheSize} "
|
||||
+ "--attr-cache=${toString cfg.attrCache} "
|
||||
+ "--entry-cache=${toString cfg.entryCache} "
|
||||
+ "--open-cache=${toString cfg.openCache}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,8 +2,7 @@
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = [
|
||||
./1password.nix
|
||||
./flatpak.nix
|
||||
./steam.nix
|
||||
./1password.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# In your configuration.nix
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
# Open ports in the firewall for Steam Remote Play
|
||||
remotePlay.openFirewall = true;
|
||||
# Open ports in the firewall for Source Dedicated Server
|
||||
dedicatedServer.openFirewall = true;
|
||||
# Open ports in the firewall for Steam Local Network Game Transfers
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
};
|
||||
}
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIdzswSvGKIFj/0sAIAc0IMa6q0CiEqk/RjpEaea0RpVSxKL8v/E0HyqiC
|
||||
nZBGvcaadZ+uQ/Ndxk3WfehTYuXWZk9gotfoQ91TrvMcCNt0ag6sMdVLHtEzoXWF
|
||||
93wn4UDc9kv56mfU+JnSK5Rv6euXhZ8ZapEqFIvmh7kGkX/nwTJFNU/f6jz0yhaw
|
||||
uu/pa9b9NFpIH7IoelJ2SzJMX3ZhX5aVcY0ojOEvlfRxOGdsOxUK2Ifd9MWV9Tyd
|
||||
Sgsa3uFFcL4STwXNq6umwlfkk/SOqtq5WAA=
|
||||
=Zo/k
|
||||
jA0ECQMIyS/QhVzk8iz/0sAIAYCHd2CTLa3u1Ajj4oj7tqJivyB2moggjt7f0uep
|
||||
qpah5aM35C/BnzMVRkg6CBWbMFhBRYlRaJ7oyQMPlq/OAtDuk4heXhQfqN24PEEb
|
||||
X5SzXFaTtW01HIHy2JNaVaz7qU4RsRctayjPe6jBKfkDrxbLpKtUf1ETNuwqgMOR
|
||||
pyZjgoBO6Wo2DUkeq3cku95ejsX/63XXnTKW0CXwVdvolo7OzdBIfNsiSMTnvnr5
|
||||
s1jFbGH7K3QOz7FcSyanG4gK+z3x6Njaduc=
|
||||
=tmo1
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIfCkBxDc8TWD/0sAAAVHWFLZ7uRkcGSscboaZ4RMJnRJB50a2tLPwpC2i
|
||||
RoQyaeNcW7CLnCDUvZhJUQw6PPYZ0HvedyXesVQM11d5S0OI55bRLfYLCItGEbcB
|
||||
L0Ys7X5tk3c21XM4BpWAY1JCM0KcavPvJIiGk6EF0NxhkC+wJ15kd+QqHaR6CW9F
|
||||
F0tUzKDmnlVkg1PM0DE2ol4p/ZpkAavlKtDjNCAkresprnX4n+kDuVhlfhDrCCFO
|
||||
SgXz2UTZQz3ZCD1rw1u12uXF
|
||||
=9dgy
|
||||
jA0ECQMI3rCkM4WCKnn/0sASAQjifcMA4M5hjwkP8dZXxah9d8g8YeofFTPLgPMm
|
||||
zUR7BcyuniGeHkdkPhVIPDU9ea8BB6JVgldGNeHOh0Rj+OdO95RzPkC4VyGlhVC7
|
||||
qoDdy+QQUOVImgEjbNLSOD3VKJzYQMfcmF2X6yZ0TpfOeHZyOmaVXQU+hdIl2g9r
|
||||
zJjzKh2Ukp0VAF+1mp6mcU3fKhwJyffxF1491ExXYM80q1+S247/zLgU1/nQi/u5
|
||||
cX1cV14qi/nFQdmuNlNjahusvSpVtkhsa8TYMRyDP9rr+WdQ
|
||||
=an0w
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIMtJCio7/eYP/0sA6AUnti1nRUB47NBp+VFxeWAAkjLj1x+u2124Vm7pI
|
||||
ghbcrcvnpqiqXnlNeibhIFyuU/12Lfsy27mCYZZgH/bVik10gGIi1Xu4sGUujLSU
|
||||
zB8R2GjceTbqSDMUp3XWEMSjmNRweNnwBMesJVVuwJfw7HIiIdsYIJMINCVO4m3O
|
||||
7YQ8tJrmfc4q7q15ZcV/uU/AQVydw+o3yElnO/fiuiXUxuMP/KdZJNJ7zSX+CRL7
|
||||
bV29m19w58iUouXGLUgLvKU/1x+siOcJh9zTEM+IeFspz5Gr9BlUZFiewuR6NuP7
|
||||
MsppiqYsH1be70J26FfTki9G8sOVR4BjVdNW1w==
|
||||
=3d5a
|
||||
jA0ECQMIECtNQigofUT/0sA7AfQFumfYw02g3y4nQuPYrfbgyHuMVCsMk+nLlcLb
|
||||
5I+zgR8c1ie/S5XBk3wLlJ0suhb8m4ifZOJoRcIW7G+ISTPjIetaJQnkvObKUBgG
|
||||
QXz54oWcQYXMeaGcEq442gU0x+S3HVU2GcIhRdiUuZ5DYbaEsYnLcPLBrp73a/wE
|
||||
+hb3IZC1zGcijpC4ovcVVAZvHUaKpV0hCzJXNGgvPW0H7/GRxQyPKjghUQ7DgCRu
|
||||
4u7t/GU2JDrep+nteUu5Rs+P7bypZdyripMj6BxoqHmwjj1ddeSK7Bv602Nt+7/n
|
||||
Bcg8xpViAasXREuaR3Z6r9SFlex7qbQjMMBtb2M=
|
||||
=wrl9
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIMu3XXOPLCIP/0sCgAXbVifGOa6+M7lEAY9APajBS8fSDPQfRNhHQRSam
|
||||
f1eJm4XfWw/mlnz0IFaf69wGjrd5qiGaPHwtQlZzapaxSgNZquWXSqAH2x6I9gGa
|
||||
yS7eay1vjr/bkTOgzWJBLksrUTcfU3UmxW41/ORVnSD8UfqSOg9j+RLYadAQhian
|
||||
11vn2G+1AlmTFgY9zbOflbw+pU83x0t2DX7cTHDO5A/BWQ3ZXEhId8t9PHaobZ9e
|
||||
M/I0k0kEr5UjeXuQwP1Bwiqd47lEOjlSbgu/MJ+ptbWoxyemmlYLGZbeoCuqEdPS
|
||||
V2NgeYauLblQ9z1SQpB5POr9x1csXviIj4AMU6+0eNjDfnK4trtNjjiryYybvJtz
|
||||
mzmsvltZRN/oTBHwNiDo6nqHo2DETDT1VpUMrodjdX92OsCcRxCfe9PC7ULnfh9n
|
||||
4/jQ/75dJYpWYZIWbC3nG5D76xz8TSTjGbgywvkN4rdnjQ==
|
||||
=JAg8
|
||||
jA0ECQMILwzTWNDBbZX/0sAeAQMlmiKRJM5YPtC78LvlLroqE5R6hysJq1nGV34U
|
||||
CcY7XmuLz/Bvx2/ZGE1urY48AmgNZraiKOh8kfTG5T7dCTqrkMiz1MpNRYVdnXvW
|
||||
LOanl3+alv6tmosD52zn4vRmRCnIaqE/k6ne+NV4BuRj0u9qWLoNI/7uGFnjcvI3
|
||||
mGYlDF7ArQH0gVpmW8wmlNFzMPe4ccqWMjGbpB1h3TEALy4nh2wwNH5PvF1FKesJ
|
||||
iq4Vvhslo8LbyjQdkA7/fPlYEu1MDJKDCaHWwmAevMwNuGNLrdupyOf2KkHSYmUB
|
||||
=ULsR
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMI89LbE32DrNn/0uoBJVUIbTOA/jtlEVMONV1smTaTTY3SnAXX5XckqwCt
|
||||
xwMKfnGJ6+vgFZMyGpeMqigO02vHIAMdYqUtHN3EtBOA+NTJe6P1AjgnSGKNbkbG
|
||||
DKWMCYTcnm5+1zrgqhMf1GtsZVOYjiFWulUwpXqnXBlHPpm0dynAaxLJ4U9GxE13
|
||||
dq2+xnjMZtiJ/HBqPl/WhgUN+Fsvyx86bAf6mVkayHTKqBloY+l27rEOK+HM7br9
|
||||
6MQKH8REVz7Vun/cKotI7277/WxLUPyG9D9WPccpHzD6rFcjY+ckCGfo+xln2K2e
|
||||
+ITyqw8ZXe/Z/okSL8VNJOx8nx008FrdRtVq3oXdRBibr4sEXkRGyG5lgdwqAlB0
|
||||
nVoIobB33fwW3RqlXfEboJJCw+hw8dlMJTSKmBVVcD37TcXhXOUZGcoTVFOPuRTc
|
||||
zOH24JRe/w399eCo7gIodF06xVPjj8a/dOhCYymzH7ruN/Vs4XVKdKE5rLGiHz5I
|
||||
90brfvP6Q8ojRG+OANk9QLPplcWJ5cQSdiDX/Yk0J7UKlZV5fYToY4EDTnOqyPSE
|
||||
F42Oa/Fsz3n/gcCsLGf5rPEaR8UnU0PuQnmCzmuXjuQIXaJMJZ8wtAa8zufZ7EhF
|
||||
kljCInxCrV5w2XxOfy3k64oSNt54c59clY3tQQtxKPcbxSma5WFPOpSEQBY8MDI/
|
||||
VmQpPwPbnZELFUdsfvcCEupEQAT+AAPvupg0Ta4mIeAf16/TEm8CUXBQzZ/f32pI
|
||||
tURGbL4grNEanIvpKyxXviaSHHtpoHk+BhsQ2RRNxD5CghYS/1U/llFZJqh3TyT4
|
||||
wE10AEUH2vwaeIgfJFh4su/UBF+PvI2RD5q3T9Y8nfagrQS87rJZSJhyGXVxn/R1
|
||||
IIXxiPQR0er50Mn5/NkLWS89CrkQXeLqzPlK5nCkG2ata5okV2E3p48/BPT2rPhj
|
||||
vdRls5Wyf+osYz3F7HFKmcaMHNZRSseCpXD+DC81lG5kAU0Oz2fHOe5zspGJ8/5B
|
||||
w09rbh15Fxo6g4vfGDyeEI/2Tro9n1yYFkvSSD+pmReWOgsXwifrYm3PfbzpjhuB
|
||||
yfCIBfv8XlOwtwH7teTD8qKsobX5eulOIhJibBOURtqtRU029wpZETXRo1Zn0crb
|
||||
mWuOOSKLKTrNRPyxkGN2lMkPaR8Y/RBH8pS8QFrNFo8HzT+5HgKxz6H8vB7MjKma
|
||||
UdKQCcY7VS0HCaQ+1WVAyK1uY5lWfFAIasYcLldoBU1SRNKcUMwGlKBh5/2Kv3nJ
|
||||
kBocP36iP/o9XtTQGtYtQNmKBtMy2cfaBPLbz2cUl9HymglaxaAROGqvkeh4nlLQ
|
||||
RZ8cSUvR5e3HRhx2JPduRoqrmPAv1sN/2kcNRPk7w3lmwKmPxdkv8IoiGg2dqA06
|
||||
Uzs7MWW9R7PWyNyrcm0thP6l8VXQz9iG7jpXFYzGGq82xk6aPf3UrglGT9/R63pq
|
||||
311r2kVz/cqLgE5YzxZ4kEi8Des8wjglTib+zvVRnqBAalAvAlz5TUOnAQAiHYqN
|
||||
ONY1f7A7XMHgpoQGd6SIsbVDtLIstni4adzqH6ahi+PXdMOVTaGCbU7UAfrTjXfn
|
||||
NHlONbLRmGsHTC1xqlcj0wP6F5osg5lGFAwQvbbK6LahBCjfsKUFC27iWY/5VEJ1
|
||||
sYvp7OU6uJZS8LqaD8U3q16v/nTaMewO1mMJfntgef8/qc6B20fKN+HkTLgZmM6z
|
||||
SJXqsxMQ4r+1lQtNaFCt4pIxx/JuN1RUnn19ZoyHNBDALejSMx4l7VzhiNFTCSM0
|
||||
GsC98eZp4KcipTo4Tdsc8znzO0DowNA/lVIEHSkAMih8XyxK9Er3ICCyB+nGO87J
|
||||
byTxf7j9BRGGrslm
|
||||
=+LIn
|
||||
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
|
||||
PppWvUzUlOlJJPetJb5F
|
||||
=U7VL
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIKAqIdDLxbRz/0sCVARMDv657J+xXkIKk4c1zesqgKfLc1/6O1Fd2Ftho
|
||||
7Sc1g74tXidtPEerJPT1baZbVDNc0EC2p55sNxpB1e7jgvzbgBebTulTz5u1g77Z
|
||||
v83ei7O9Zcb1e/NeuH+BXc5IJFqb5wIBqrEiSrohC4TCWI9EPCw5gfiWfZOatj1l
|
||||
hZ0RGXPITvJU2GWDq1GJrxtDCM7ozKi45+bFXlKq1WYMODC3kBgaaZA7lrWBCYXM
|
||||
lp8aOVABCtBg8N5XHFCTCll5VEcvKkWywPCFs7g1Qrwz1m4KxYtQPJgYfjRnOJcw
|
||||
TL1KhwEwOXmYU4LOO7PZhlI3/zDsWroJHtkrtOS2ocDCxQqcjLf//wwYHf63qLNL
|
||||
qdEOQ6zDdckwmkaExidTevhUPy+PlhD4mnKhlXivmk7SEPq7Epxqm37uP/xfAfDz
|
||||
aVohRYRI0rooMZ+xjGlncc15ZCDhLPk=
|
||||
=uIWs
|
||||
jA0ECQMI475OuKYqXMv/0sCXAShLaWEeFxtqCZ2dN7OqEy5ucrqr9u0I0yurJbwo
|
||||
lYxL/g/tHRoqVDiLHx0hJMtmL5mltn+GBbGA1Y5wcqQyYvU74qUEn8iCbw1BYMQ+
|
||||
1zEMwZZG5FEmW1nHYA1OM0JeWPDqpveMr/XBk8P/bI5zDr93XXKshFsuVbHvyPBJ
|
||||
CiPIXPv1Pu8rJHcIjEDkknnz48ZeS2RR2N30LFmTBdD6ZmkLfq8vYtPkJFW6rb0w
|
||||
jTIsDyzDbtCF6YU9VnARNCQo6y5gEUi+nZi730trfSUmFJEa1BKwG4aE46bxborn
|
||||
sHmV1NTN2rZrxMRIRe05S4zqZ7Dod6eN+KBDZsSXuYWxD+sUjmWA1agYJndhk2xr
|
||||
HzIFJwk7kNgKZnW6QY+/phxJX/txHd5GMjwjjYBSJ3M7Txm7BBtNoflz0TqBaIay
|
||||
9vJUhWMfcPETc0/CB3S5PiMbVVGyw5jhLg==
|
||||
=S/fh
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
60062
secrets/wp/1.jpg.gpg
60062
secrets/wp/1.jpg.gpg
File diff suppressed because it is too large
Load Diff
45638
secrets/wp/10.jpg.gpg
45638
secrets/wp/10.jpg.gpg
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
16574
secrets/wp/12.jpg.gpg
16574
secrets/wp/12.jpg.gpg
File diff suppressed because it is too large
Load Diff
310046
secrets/wp/13.png.gpg
310046
secrets/wp/13.png.gpg
File diff suppressed because it is too large
Load Diff
13260
secrets/wp/2.jpg.gpg
13260
secrets/wp/2.jpg.gpg
File diff suppressed because it is too large
Load Diff
12010
secrets/wp/3.jpg.gpg
12010
secrets/wp/3.jpg.gpg
File diff suppressed because it is too large
Load Diff
55644
secrets/wp/4.jpg.gpg
55644
secrets/wp/4.jpg.gpg
File diff suppressed because it is too large
Load Diff
51386
secrets/wp/5.jpg.gpg
51386
secrets/wp/5.jpg.gpg
File diff suppressed because it is too large
Load Diff
17010
secrets/wp/6.jpg.gpg
17010
secrets/wp/6.jpg.gpg
File diff suppressed because it is too large
Load Diff
24088
secrets/wp/7.jpg.gpg
24088
secrets/wp/7.jpg.gpg
File diff suppressed because it is too large
Load Diff
17456
secrets/wp/8.jpg.gpg
17456
secrets/wp/8.jpg.gpg
File diff suppressed because it is too large
Load Diff
148646
secrets/wp/9.png.gpg
148646
secrets/wp/9.png.gpg
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMI5VBc0KVbLDL/0sBCAf3oZq8xXuCs66vm9peFWtjXJJ8KoeHE27LNfvT5
|
||||
xAO5z6CuPzOdwLe4k8w2mIA1csivmGinWj2OqHelLzVIdrNZj2FW8baP+lhE9m5l
|
||||
ZWUIc6c2Ow4gBqI24U6KQHYOZS4vZ/lUhN9Ja/3RrSyhQfXbjeU2rQtfrfVQlQzk
|
||||
HY7XdGtnsOta7Aanp4I4nJB5H48i8OnMBt7BI3R3wUY/9dnQ/+UP0PGkH48scnW2
|
||||
9NMIhCnIa8evzVEwa10KG5tKMXfJT0ZBcj0PuwWhpDV6hqtLAfaiyNYux6nMRSQk
|
||||
VPdHjG/SrFusOUAQWmZCwPYHQIhSvQotfHIoQkt4ktmFGjWf
|
||||
=203E
|
||||
jA0ECQMIJ9R5BaXIG1//0sBBAe8JsWlg3N50w7zu3Uwke1Hu1QLkDYFgsTBsz6Og
|
||||
Vp6mPHVeNK6IPl0pUT1IaZHNhKNc9Bd4/ZYoubfkfBIyIlXclcjRzgcorOtkOsWs
|
||||
YcFUYdYwKCLsS0K4wq7setmy3wAjTnrULyXDS4xRA/30NtOL/Cx9i6hyAlkOjcfA
|
||||
l0mFtzLBrEP4LMbSo2oFtFyhPP05R3kZwe1hukZzmsuNI7W1scEBtKQcTCz01ngL
|
||||
h/B0AE1dX8bRU+Yyl6aZ3iPLS+J2o5jsZ+ou3Iy5SXqBqVhlJXxxjCP0VF7ZYSGC
|
||||
YLnxqSvcBp0wuLjgMlJlGu0omZR7axTFZaE4ts4oULS0YaI=
|
||||
=5mIs
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIvkpSi/VwY0D/0sDKAUychqUMz34QzcenJFg72hd0QCirPZPrFGg/kXLW
|
||||
iAHp6oxrENcPW7Ll1tHDPrL+QC06RPOsrWXO0LjGnOsHjDron+DnmznXhLFDSXgZ
|
||||
br3q5jqYTnYrAFoTChVtz+PaRB0CRg4W1IbM5VhwDVKjcNq0NHZtc9pTCBsaIaCV
|
||||
xTbQge6bAq8hPcezP7VOnfJpMKi1G2pILhRJviZN6nzzUoMfRMxdwx9JyPGKruFL
|
||||
BAZYtFMUlfL+jBATKop2oZeEQqW+mzwmUFSKEOFFqrLTePh90kN2cZwiof4W4vvn
|
||||
cQ2APHSxmWniW21Qrm/9YCRE+HKLt2Yz+nYx7zvEuRpeN25aaVQu5DnkHfzFbKfj
|
||||
c5Nv7kIi0pGT5niTlcAipSZ6YRyy6K6b9A04H8JyxJ51+HCfEb0Ns9yPcjCXffs1
|
||||
h9dmZ2MnTv9zX2w0th/SlQ9C0A9MGr9SPLsLz6WcaOuswhWCNNdkF4tQ8vnHTEsZ
|
||||
ezi+iRTIHhI3zQ9YjR07Tki8s8i5rWUCaFzOvg==
|
||||
=kFIl
|
||||
jA0ECQMILlvRxivBmtv/0sDKAeUG/vps231Rvtbj5zCM00heDgy6Y8oFmsPfbQ+/
|
||||
mC4id1R7/qvhC6R89nM6kNC4nIcMQj7L3I7XJRUZNe6pX1es84PiafuHBBLQ5nnH
|
||||
1BBkR/QVB+oAf1p4i8M8AvsrZv7VQQ5jNmETU+xrYp+mfQytDUCSIM8LjQw3Doz3
|
||||
kOghN6UNJdJRrwjFdrJ9TZqmBmz9KXh8o7elZQQcwRB9vHVz4TUTFKoslUn821UV
|
||||
A2xefTxZwiYw1ExqxObs1Dc+cVjitCelXfhRNEszL42gG1VUyLuY71lDphzxmyDD
|
||||
HPk7yZuCciBgCA+VNkBsjHLLyGtsR2FqqU8DraXXq6cFcxjMIkRoza9AUi4Xk1GG
|
||||
NQ7ONEwmXHH2db+Z8H5F1NXt+UfW41gbVWKek1Cxooa37FXUn995RCeMcaDeKfVM
|
||||
f8vYFELIyrkAuLkltO2twcFi4d9pnYYnxJOmtj9heH8SDcaSuj++03vN0CQu1Xw2
|
||||
qEhF3L/aEQwUrRaayI7F2NJmEfQgGZfcjVc+1Q==
|
||||
=weU9
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
96
setup.sh
96
setup.sh
@@ -28,6 +28,10 @@ log_error() {
|
||||
echo -e "${RED}$1${NC}" >&2
|
||||
}
|
||||
|
||||
log_warning() {
|
||||
echo -e "${YELLOW}$1${NC}" >&2
|
||||
}
|
||||
|
||||
die() {
|
||||
log_error "$1"
|
||||
exit 1
|
||||
@@ -286,7 +290,7 @@ update_home_manager_flake() {
|
||||
}
|
||||
|
||||
install_nix() {
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
if command -v nix-channel >/dev/null 2>&1; then
|
||||
log_success "Detected NixOS, skipping Nix setup."
|
||||
return 0
|
||||
fi
|
||||
@@ -295,6 +299,10 @@ install_nix() {
|
||||
if ! sh <(curl -L https://nixos.org/nix/install) --daemon; then
|
||||
die "Failed to install Nix"
|
||||
fi
|
||||
|
||||
log_success "Nix has been installed. Please open a new shell and re-run the script."
|
||||
log_info "`~/dotfiles/setup.sh --continue` to continue setup."
|
||||
exit 0
|
||||
}
|
||||
|
||||
setup_symlinks() {
|
||||
@@ -353,15 +361,19 @@ prepare_hostname() {
|
||||
local hostname_file="$HOME/.hostname"
|
||||
local hostname
|
||||
|
||||
# Only check for NixOS if hardware configuration is not found
|
||||
if [ -f "$hostname_file" ]; then
|
||||
hostname=$(cat "$hostname_file")
|
||||
log_success "Hostname already found in $hostname_file. Using $hostname."
|
||||
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
die "No hardware configuration found for $hostname. Please create a hardware configuration for this machine."
|
||||
fi
|
||||
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
die "No hardware configuration found for $hostname. Please create a hardware configuration for this machine."
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
fi
|
||||
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -377,11 +389,18 @@ prepare_hostname() {
|
||||
log_error "Invalid hostname. Please enter a valid hostname:"
|
||||
done
|
||||
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
log_info "No hardware configuration found for $hostname."
|
||||
create_hardware_config "$hostname"
|
||||
else
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
if [ ! command -v nixos-version >/dev/null 2>&1 ]; then
|
||||
log_info "Setting hostname to $hostname..."
|
||||
sudo hostnamectl set-hostname "$hostname" || die "Failed to set hostname"
|
||||
fi
|
||||
|
||||
if [ command -v nixos-version >/dev/null 2>&1 ]; then
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
log_info "No hardware configuration found for $hostname."
|
||||
create_hardware_config "$hostname"
|
||||
else
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$hostname" > "$hostname_file" || die "Failed to save hostname"
|
||||
@@ -389,18 +408,37 @@ prepare_hostname() {
|
||||
}
|
||||
|
||||
warning_prompt() {
|
||||
log_success "This script will set up your NixOS system using Menno's Dotfiles repository.\n"
|
||||
log_success "This script will set up your machine using Menno's Dotfiles repository.\n"
|
||||
log_error "Please ensure you have a backup of your data before proceeding."
|
||||
log_error "This script will modify system files and may require sudo permissions.\n"
|
||||
log_info "This script works best on a fresh NixOS installation."
|
||||
log_info "This script works best on a fresh NixOS/Fedora installation."
|
||||
log_info "Type 'continue' to continue or Ctrl+C to exit."
|
||||
read -r -p "> " continue
|
||||
read -r -p "> " continue < /dev/tty
|
||||
if [ "$continue" != "continue" ]; then
|
||||
die "Exiting..."
|
||||
fi
|
||||
|
||||
log_info "Starting setup..."
|
||||
}
|
||||
|
||||
check_selinux() {
|
||||
# Only on Non-NixOS based systems
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Check if getenforce is returning Enforcing
|
||||
if [ "$(getenforce)" = "Enforcing" ]; then
|
||||
log_warning "SELinux is enabled. Adjusting SELinux to permissive mode..."
|
||||
sudo setenforce Permissive || die "Failed to disable SELinux"
|
||||
sudo tee /etc/selinux/config << EOF > /dev/null || die "Failed to write to /etc/selinux/config"
|
||||
SELINUX=permissive
|
||||
SELINUXTYPE=targeted
|
||||
EOF
|
||||
log_success "SELinux disabled successfully."
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
# Check if setup has already been run
|
||||
if [ -f "$SETUP_MARKER" ]; then
|
||||
@@ -416,22 +454,38 @@ main() {
|
||||
log_info "Cloning dotfiles repo..."
|
||||
git clone "$GIT_REPO" "$DOTFILES_DIR" || die "Failed to clone dotfiles repository"
|
||||
fi
|
||||
|
||||
if [ -n "${1:-}" ]; then
|
||||
CONTINUE=$1
|
||||
if [ "$CONTINUE" = "--continue" ]; then
|
||||
log_info "Continuing setup..."
|
||||
else
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
check_selinux
|
||||
install_nix
|
||||
fi
|
||||
else
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
check_selinux
|
||||
install_nix
|
||||
fi
|
||||
|
||||
|
||||
# Run setup steps
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
install_nix
|
||||
install_home_manager
|
||||
setup_symlinks
|
||||
|
||||
# Get hostname
|
||||
local hostname
|
||||
hostname=$(cat "$HOME/.hostname") || die "Failed to read hostname"
|
||||
|
||||
# Rebuild NixOS
|
||||
cd "$DOTFILES_DIR/config/nixos" || die "Failed to change to nixos config directory"
|
||||
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
||||
die "Failed to rebuild NixOS"
|
||||
|
||||
# Rebuild NixOS but only on NixOS systems
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
cd "$DOTFILES_DIR/config/nixos" || die "Failed to change to nixos config directory"
|
||||
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
||||
die "Failed to rebuild NixOS"
|
||||
fi
|
||||
|
||||
# Rebuild Home Manager
|
||||
cd "$DOTFILES_DIR/config/home-manager" || die "Failed to change to home-manager config directory"
|
||||
|
||||
@@ -41,5 +41,5 @@
|
||||
"[dockercompose]": {
|
||||
"editor.defaultFormatter": "ms-azuretools.vscode-docker"
|
||||
},
|
||||
"terminal.integrated.defaultLocation": "editor",
|
||||
"go.toolsManagement.autoUpdate": true,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user