Compare commits
76 Commits
c0ab3d1517
...
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
|
|||
|
82c1d5d995
|
|||
|
2c04a6ef26
|
|||
|
8faab83651
|
|||
|
84019d2ba8
|
|||
|
20a4b6b529
|
|||
|
76e9cb0371
|
|||
|
56913879cb
|
|||
|
a4871ba423
|
|||
|
2c0e3c746b
|
|||
|
2cd1c77d60
|
|||
|
5cb3e5fe44
|
|||
|
c5fdac86b2
|
|||
|
32f4717c8a
|
|||
|
031688333e
|
|||
|
eabff41a56
|
|||
|
5c73283e5f
|
|||
|
0b523463f2
|
|||
|
70335cf637
|
|||
|
0d26f30261
|
|||
|
93b1aba78d
|
|||
|
994d0cdedd
|
|||
|
4a80da3995
|
|||
|
728ca39836
|
12
.bashrc
12
.bashrc
@@ -69,6 +69,9 @@ export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$H
|
||||
# Allow unfree nixos
|
||||
export NIXPKGS_ALLOW_UNFREE=1
|
||||
|
||||
# Allow insecure nixpkgs
|
||||
export NIXPKGS_ALLOW_INSECURE=1
|
||||
|
||||
# Set DOTF_HOSTNAME to the hostname from .hostname file
|
||||
# If this file doesn't exist, use mennos-unknown-hostname
|
||||
export DOTF_HOSTNAME="mennos-unknown-hostname"
|
||||
@@ -81,11 +84,8 @@ if [ -d "/home/menno/Projects/Work" ]; then
|
||||
export TRADAWARE_DEVOPS=true
|
||||
fi
|
||||
|
||||
# Flutter Environment
|
||||
if [ -d "$HOME/flutter" ]; then
|
||||
export PATH="$PATH:$HOME/flutter/bin"
|
||||
export CHROME_EXECUTABLE=/usr/bin/brave-browser
|
||||
fi
|
||||
# Flutter Web and other tools that require Chrome
|
||||
export CHROME_EXECUTABLE=$(which brave)
|
||||
|
||||
# 1Password Source Plugin (Assuming bash compatibility)
|
||||
if [ -f /home/menno/.config/op/plugins.sh ]; then
|
||||
@@ -163,5 +163,5 @@ fi
|
||||
|
||||
# Display a welcome message for interactive shells
|
||||
if [ -t 1 ]; then
|
||||
dotf term
|
||||
dotf hello
|
||||
fi
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
apps=(
|
||||
spotify
|
||||
whatsapp-for-linux
|
||||
telegram-desktop
|
||||
vesktop
|
||||
trayscale
|
||||
1password
|
||||
fcitx5
|
||||
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
|
||||
@@ -18,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
|
||||
|
||||
|
||||
@@ -92,27 +92,28 @@ symlinks() {
|
||||
done
|
||||
}
|
||||
|
||||
sys_packages_upgrade() {
|
||||
printfe "%s\n" "cyan" "Running NixOS channel update..."
|
||||
sudo nix-channel --update
|
||||
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure
|
||||
}
|
||||
|
||||
####################################################################################################
|
||||
# Update packages
|
||||
####################################################################################################
|
||||
|
||||
sys_packages() {
|
||||
printfe "%s\n" "cyan" "Updating system packages..."
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
printfe "%s\n" "cyan" "Updating brew packages..."
|
||||
brew update
|
||||
brew upgrade
|
||||
brew cleanup
|
||||
else
|
||||
if [ -x "$(command -v nixos-version)" ]; then
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --flake .#$DOTF_HOSTNAME --impure
|
||||
printfe "%s\n" "cyan" "Updating nix channels..."
|
||||
printfe "%s" "cyan" "System channels: "
|
||||
sudo -i nix-channel --update
|
||||
|
||||
printfe "%s" "cyan" "User channels: "
|
||||
nix-channel --update
|
||||
|
||||
printfe "%s\n" "cyan" "Updating nixos flake..."
|
||||
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
|
||||
@@ -121,9 +122,17 @@ sys_packages() {
|
||||
return
|
||||
fi
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
cargopkgs() {
|
||||
@@ -160,15 +169,8 @@ flatpakpkgs() {
|
||||
}
|
||||
|
||||
homemanager() {
|
||||
printfe "%s\n" "cyan" "Running Home Manager update..."
|
||||
|
||||
# Due to weirdness delete this file if it exists
|
||||
if [ -f "$HOME/.config/mimeapps.list.backup" ]; then
|
||||
echo "Removing mimeapps.list.backup"
|
||||
rip "$HOME/.config/mimeapps.list.backup"
|
||||
fi
|
||||
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch -b backup --flake .#$DOTF_HOSTNAME --impure
|
||||
printfe "%s\n" "cyan" "Updating Home Manager flake..."
|
||||
cd $HOME/dotfiles/config/home-manager && nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
|
||||
}
|
||||
|
||||
####################################################################################################
|
||||
@@ -188,9 +190,6 @@ if [ "$#" -eq 0 ]; then
|
||||
else
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
--nixos-upgrade)
|
||||
sys_packages_upgrade
|
||||
;;
|
||||
--nixos|nixos|nix|nixos-rebuild)
|
||||
sys_packages
|
||||
;;
|
||||
|
||||
72
bin/actions/upgrade.sh
Executable file
72
bin/actions/upgrade.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
source $HOME/dotfiles/bin/helpers/functions.sh
|
||||
|
||||
help() {
|
||||
printfe "%s\n" "green" "Usage: upgrade.sh [options]"
|
||||
printfe "%s\n" "green" "Options:"
|
||||
printfe "%s\n" "green" " --ha, -H Upgrade Home Manager packages."
|
||||
printfe "%s\n" "green" " --nix, -X Upgrade NixOS packages."
|
||||
printfe "%s\n" "green" " --full-speed, -F Upgrade packages and use all available cores for compilation. (Default: 8 cores)"
|
||||
printfe "%s\n" "green" " --help, -h Display this help message."
|
||||
exit 0
|
||||
}
|
||||
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
case $1 in
|
||||
--ha|-H) RUN_HA=true ;;
|
||||
--nix|-X) RUN_NIX=true ;;
|
||||
--full-speed|-F) FULL_SPEED=true ;;
|
||||
--help|-h) help ;;
|
||||
*) echo "Unknown parameter passed: $1";
|
||||
help ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ -z "$RUN_HA" && -z "$RUN_NIX" ]]; then
|
||||
RUN_HA=true
|
||||
RUN_NIX=true
|
||||
fi
|
||||
|
||||
# Check if --full-speed flag is passed, otherwise use --cores 8 -j 1
|
||||
if [[ "$FULL_SPEED" == true ]]; then
|
||||
CORES=$(nproc)
|
||||
JOBS=$(nproc)
|
||||
else
|
||||
CORES=8
|
||||
JOBS=1
|
||||
fi
|
||||
|
||||
printfe "%s\n" "cyan" "Limiting to $CORES cores with $JOBS jobs."
|
||||
|
||||
if [[ "$RUN_NIX" == true ]]; then
|
||||
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
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Skipping nixos-rebuild, NixOS is not installed."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$RUN_HA" == true ]]; then
|
||||
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 --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."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Home Manager is not installed."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
16
bin/dotf
16
bin/dotf
@@ -28,8 +28,17 @@ update() {
|
||||
"$update_script" $@
|
||||
}
|
||||
|
||||
term() {
|
||||
local term_script="$DOTFILES_BIN/actions/term.sh"
|
||||
upgrade() {
|
||||
local upgrade_script="$DOTFILES_BIN/actions/upgrade.sh"
|
||||
if [[ ! -x "$upgrade_script" ]]; then
|
||||
printfe "%s\n" "red" "Error: Upgrade script not found or not executable"
|
||||
return 1
|
||||
fi
|
||||
"$upgrade_script" $@
|
||||
}
|
||||
|
||||
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
|
||||
@@ -114,8 +123,9 @@ main() {
|
||||
# Parse commands
|
||||
case "${1:-help}" in
|
||||
update) shift; update "$@" ;;
|
||||
upgrade) shift; upgrade "$@" ;;
|
||||
help) shift; help "$@" ;;
|
||||
term) shift; term "$@" ;;
|
||||
hello) shift; hello "$@" ;;
|
||||
secrets) shift; secrets "$@" ;;
|
||||
auto-start) shift; auto_start "$@" ;;
|
||||
*) help ;;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
|
||||
Usage: dotf [OPTIONS] [ARGS]
|
||||
|
||||
update: Pull latest changes, and update symlinks and configurations.
|
||||
update: Pull latest changes, and update symlinks and configurations
|
||||
Also pulls latest nix channels and updates flakes to latest versions.
|
||||
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/4jqpwdf5q8rh58a9vk80r4naaz9aic6z-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
/nix/store/b21375qzs3rbmhz9wrvyab7jljis7jc3-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Network;InstantMessaging;Chat
|
||||
Exec=vesktop %U
|
||||
GenericName=Internet Messenger
|
||||
Icon=vesktop
|
||||
Keywords=discord;vencord;electron;chat
|
||||
Name=Vesktop
|
||||
StartupWMClass=Vesktop
|
||||
Type=Application
|
||||
Version=1.4
|
||||
@@ -16,8 +16,8 @@ config:
|
||||
mennos-server: ~/dotfiles/config/gitconfig.mennos-server
|
||||
mennos-desktop: ~/dotfiles/config/gitconfig.linux
|
||||
mennos-gamingpc: ~/dotfiles/config/gitconfig.linux
|
||||
mennos-laptop: ~/dotfiles/config/gitconfig.linux
|
||||
homeserver-pc: ~/dotfiles/config/gitconfig.linux
|
||||
macos: ~/dotfiles/config/gitconfig.macos
|
||||
wsl: ~/dotfiles/config/gitconfig.wsl
|
||||
target: ~/.gitconfig
|
||||
|
||||
@@ -36,11 +36,6 @@ config:
|
||||
source: ~/dotfiles/vscode/settings.json
|
||||
target: ~/.config/Code/User/settings.json
|
||||
|
||||
# Autostart
|
||||
autostart:
|
||||
source: ~/dotfiles/config/autostart
|
||||
target: ~/.config/autostart
|
||||
|
||||
# SSH config
|
||||
ssh:
|
||||
source: ~/dotfiles/config/ssh/config
|
||||
@@ -59,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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[Flatpak Ref]
|
||||
Name=net.openra.OpenRA
|
||||
Name=tv.plex.PlexDesktop
|
||||
Branch=stable
|
||||
Title=net.openra.OpenRA from flathub
|
||||
Title=tv.plex.PlexDesktop from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
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
|
||||
|
||||
|
||||
183
config/home-manager/flake.lock
generated
183
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,43 +64,75 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726989464,
|
||||
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730327045,
|
||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1738255539,
|
||||
"narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "release-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"lastModified": 1738136902,
|
||||
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
description = "menno's dotfiles";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
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";
|
||||
};
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
home = {
|
||||
username = "menno";
|
||||
homeDirectory = "/home/menno";
|
||||
stateVersion = "24.05";
|
||||
stateVersion = "24.11";
|
||||
sessionVariables = {
|
||||
PATH = "${config.home.homeDirectory}/go/bin:$PATH"; # Removed extra asterisks
|
||||
PATH = "${config.home.homeDirectory}/go/bin:$PATH";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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,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" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -21,11 +21,13 @@
|
||||
[
|
||||
# General packages
|
||||
git
|
||||
onefetch
|
||||
gnupg
|
||||
gh
|
||||
nixfmt-rfc-style
|
||||
wget
|
||||
fastfetch
|
||||
gpredict
|
||||
|
||||
# Package management
|
||||
pipx
|
||||
@@ -98,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 ];
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
{ id = "fihnjjcciajhdojfnbdddfaoknhalnja"; } # I don't care about cookies
|
||||
{ id = "gphhapmejobijbbhgpjhcjognlahblep"; } # gnome shell integration
|
||||
{ id = "eadndfjplgieldjbigjakmdgkmoaaaoc"; } # xdebug helper
|
||||
{ id = "hlgbcneanomplepojfcnclggenpcoldo"; } # perplexity ai companion
|
||||
];
|
||||
commandLineArgs = [ ];
|
||||
};
|
||||
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -3,18 +3,24 @@
|
||||
home.packages = with pkgs; [
|
||||
# GUI Application
|
||||
## Utilities
|
||||
pkgs-unstable.mission-center # Task Manager like Windows 11
|
||||
gnome.gnome-tweaks
|
||||
mission-center # Task Manager like Windows 11
|
||||
gnome-tweaks
|
||||
pinta # Paint.NET alternative
|
||||
bottles # Wine manager
|
||||
trayscale # Tray icon for Tailscale
|
||||
spacedrive # Virtual filesystem manager
|
||||
smile # Emoji picker
|
||||
gnome-frog # OCR tool
|
||||
gnome.gnome-boxes # Virtual machine manager
|
||||
gnome-boxes # Virtual machine manager
|
||||
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
|
||||
];
|
||||
}
|
||||
12
config/home-manager/packages/workstation/thunderbird.nix
Normal file
12
config/home-manager/packages/workstation/thunderbird.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
default = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
@@ -108,6 +110,7 @@ in
|
||||
# https://ext.ulauncher.io/-/github-tchar-ulauncher-albert-calculate-anything
|
||||
# https://ext.ulauncher.io/-/github-isacikgoz-ukill
|
||||
# https://ext.ulauncher.io/-/github-iboyperson-ulauncher-system
|
||||
# https://github.com/IgorVaryvoda/ulauncher-perplexity
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: { ulauncher = prev.ulauncher.override { python3 = pythonWithPackages; }; })
|
||||
@@ -134,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" ] ''
|
||||
|
||||
@@ -35,6 +35,14 @@
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Set nemo as the default file manager and disable desktop icons since this is handled by nemo
|
||||
"org/gnome/desktop/background" = {
|
||||
show-desktop-icons = false;
|
||||
};
|
||||
"org/gnome/desktop/applications/file-manager" = {
|
||||
exec = "nemo";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
@@ -50,7 +58,7 @@
|
||||
"com.plexamp.Plexamp.desktop"
|
||||
"vesktop.desktop"
|
||||
"org.gnome.Geary.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"nemo.desktop"
|
||||
"org.gnome.Console.desktop"
|
||||
];
|
||||
};
|
||||
@@ -58,7 +66,7 @@
|
||||
# GNOME Terminal settings
|
||||
"org/gnome/Console" = {
|
||||
use-system-font = false;
|
||||
custom-font = "Hack Nerd Font 14";
|
||||
custom-font = "Hack Nerd Font 13";
|
||||
theme = "night";
|
||||
};
|
||||
|
||||
|
||||
@@ -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 +0,0 @@
|
||||
{ config, pkgs, ... }: { }
|
||||
@@ -1,5 +1,8 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
# Install xanmod kernel
|
||||
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_stable.zfs;
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [ 400 ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
@@ -7,7 +7,19 @@
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ gnome3.gnome-session ];
|
||||
# Enable the Cosmic Desktop Environment.
|
||||
# services.desktopManager.cosmic.enable = true;
|
||||
# services.displayManager.cosmic-greeter.enable = true;
|
||||
|
||||
# Install xanmod kernel
|
||||
boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_stable;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome-session
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
@@ -25,16 +37,6 @@
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
# Japanese input
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
];
|
||||
ibus.engines = with pkgs.ibus-engines; [ mozc ];
|
||||
};
|
||||
|
||||
# Open ports in the firewall
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
|
||||
@@ -66,5 +66,5 @@
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
}
|
||||
|
||||
93
config/nixos/flake.lock
generated
93
config/nixos/flake.lock
generated
@@ -1,28 +1,80 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"lastModified": 1717312683,
|
||||
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.05",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741055622,
|
||||
"narHash": "sha256-z1y6MSfJ9pntwJ7YCkjNyGnqvYMHMnB9kH3v5Z/g9vQ=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "f3f91440dfd18518445d9ab757cf3e540c7fd6ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1740828860,
|
||||
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1740865531,
|
||||
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"lastModified": 1741010256,
|
||||
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -32,9 +84,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
description = "menno's dotfiles";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -11,6 +12,7 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
nixos-cosmic,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
@@ -35,7 +37,10 @@
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
@@ -49,7 +54,10 @@
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
{
|
||||
imports = [ /etc/nixos/hardware-configuration.nix ];
|
||||
networking.hostName = "mennos-gamingpc";
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/ac5a70cf-4b12-4d02-b5b4-a6eddf4c40b5";
|
||||
fsType = "ext4";
|
||||
options = [ "noatime" ];
|
||||
};
|
||||
|
||||
networking.interfaces.enp8s0.wakeOnLan = {
|
||||
enable = true;
|
||||
};
|
||||
@@ -17,28 +24,34 @@
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Enable Vulkan support for AMD graphics cards
|
||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ amdvlk ];
|
||||
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ amdvlk ];
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
# Swap file (Desktop PC has 48GB of RAM so 8GB swap should be enough)
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 8192;
|
||||
}
|
||||
];
|
||||
|
||||
# Enable graphics
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
|
||||
# Enable the latest AMDGPU drivers
|
||||
extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
rocm-opencl-icd
|
||||
rocm-opencl-runtime
|
||||
rocmPackages.clr
|
||||
];
|
||||
};
|
||||
|
||||
# Add ROCm packages
|
||||
# Add ROCm packages and nvtop
|
||||
environment.systemPackages = with pkgs; [
|
||||
rocmPackages.rocm-smi
|
||||
rocmPackages.clr
|
||||
rocmPackages.rocm-core
|
||||
rocmPackages.hipcc
|
||||
rocmPackages.rocm-device-libs
|
||||
nvtopPackages.amd
|
||||
];
|
||||
}
|
||||
|
||||
@@ -9,44 +9,76 @@
|
||||
imports = [ /etc/nixos/hardware-configuration.nix ];
|
||||
networking.hostName = "mennos-laptop";
|
||||
|
||||
# Bootloader.
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/1356cd09-5c55-45b5-8b06-6aadc84cee37";
|
||||
fsType = "ext4";
|
||||
options = [ "noatime" ];
|
||||
};
|
||||
|
||||
# Bootloader
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.opengl.enable = true;
|
||||
# Enable graphics
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
rocmPackages.clr
|
||||
];
|
||||
};
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
# Swap file (Laptop has 32GB of RAM so 8GB swap should be enough)
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 8192;
|
||||
}
|
||||
];
|
||||
|
||||
# Load AMD and NVIDIA drivers for Xorg and Wayland
|
||||
services.xserver.videoDrivers = [
|
||||
"nvidia"
|
||||
"amdgpu"
|
||||
];
|
||||
|
||||
# Monitoring tools
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.nvidia
|
||||
nvtopPackages.amd
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
# Modesetting is required.
|
||||
# Enable modesetting
|
||||
modesetting.enable = true;
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||
# of just the bare essentials.
|
||||
powerManagement.enable = false;
|
||||
# Power management configuration
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
finegrained = false; # Disabled as it requires offload mode
|
||||
};
|
||||
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = false;
|
||||
# Prime configuration for hybrid graphics
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
|
||||
# AMD GPU as primary
|
||||
amdgpuBusId = "PCI:5:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = false;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
|
||||
boot.kernelParams = [
|
||||
"amdgpu.sg_display=0"
|
||||
"nvidia-drm.modeset=1"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
./mennos-server/zfs.nix
|
||||
];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/dd3fa13c-a1bd-4dc9-bcb4-aee17c7f12d1";
|
||||
fsType = "ext4";
|
||||
options = [ "noatime" ];
|
||||
};
|
||||
|
||||
networking.hostName = "mennos-server";
|
||||
networking.hostId = "64519940";
|
||||
|
||||
@@ -17,15 +24,17 @@
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
# Enable oepngl and 32-bit support
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
# Enable graphics
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
# nvtop, a system monitor for GPUs
|
||||
environment.systemPackages = with pkgs; [ nvtopPackages.nvidia ];
|
||||
|
||||
# Enable NVIDIA Docker support
|
||||
# test with: $ docker run --rm -it --device=nvidia.com/gpu=all ubuntu:latest nvidia-smi
|
||||
@@ -34,34 +43,22 @@
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Swap file (Laptop has 64GB of RAM so 16GB swap should be enough)
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 16384;
|
||||
}
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||
# of just the bare essentials.
|
||||
powerManagement.enable = false;
|
||||
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = false;
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = false;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
# Use the latest driver from the unstable channel
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -60,7 +60,10 @@ in
|
||||
};
|
||||
|
||||
# Enable ZFS support
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
boot.supportedFilesystems = [
|
||||
"ntfs"
|
||||
"zfs"
|
||||
];
|
||||
|
||||
# ZFS system services
|
||||
services.zfs = {
|
||||
|
||||
@@ -7,8 +7,5 @@
|
||||
127.0.0.1 fr.discountoffice.be.local
|
||||
127.0.0.1 api.local
|
||||
127.0.0.1 mailpit.local
|
||||
|
||||
10.64.148.230 api.dev
|
||||
10.64.148.230 subsites.dev
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [
|
||||
"default.nix"
|
||||
"mennovanleeuwen.nl"
|
||||
];
|
||||
|
||||
# Import all other .nix files as modules
|
||||
moduleFiles = builtins.map (fname: ./. + "/${fname}") (builtins.attrNames files);
|
||||
in
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = moduleFiles;
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
dist/
|
||||
@@ -1,12 +0,0 @@
|
||||
build:
|
||||
cd ../; docker compose down;
|
||||
|
||||
rm -rf dist/
|
||||
mkdir dist
|
||||
|
||||
pandoc index.md --template=template.html --metadata title="Resume - Menno Cornelis van Leeuwen" -o dist/index.html
|
||||
pandoc index.md -o dist/index.pdf
|
||||
|
||||
mkdir dist/css/
|
||||
cp css/stylesheet.css dist/css/stylesheet.css
|
||||
cd ../; docker compose up -d;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,84 +0,0 @@
|
||||
|
||||
# Menno Cornelis van Leeuwen
|
||||
|
||||
## Contact Information
|
||||
|
||||
**Location:** Reguliersdwarsstraat 12A, 1947 GG, Beverwijk
|
||||
|
||||
**Phone:** +31 (06) 499-351-79
|
||||
|
||||
**Email:** menno@vleeuwen.me
|
||||
|
||||
**LinkedIn:** [linkedin.com/in/menno-v-44477b176/](https://www.linkedin.com/in/menno-v-44477b176/)
|
||||
|
||||
**GitHub:** [github.com/vleeuwenmenno](https://github.com/vleeuwenmenno)
|
||||
|
||||
## Summary
|
||||
|
||||
An enthusiastic software engineer who likes to learn new things and discover new oppertunities. Experienced in programming in Flutter, Dart, PHP and C#.
|
||||
|
||||
Although my current language of choice is Dart with the Flutter framework but I am open to anything to see what is beyond my horizon.
|
||||
|
||||
Aside from that I am also experienced in building, maintaining and repairing computer systems and networks.
|
||||
|
||||
## Skills
|
||||
|
||||
- **Programming Languages:** C# .NET, Flutter, Dart, PHP, Laravel
|
||||
- **Tools & Technologies:** Git, Docker, Provider (Flutter), VS Code, Rider, PHP Storm
|
||||
- **Methodologies:** Agile/Scrum, Object-Oriented Programming
|
||||
|
||||
## Experience
|
||||
|
||||
### **Software Engineer | Sandwave / Your.Online (Formerly TWS) | Nov 2021 – Present**
|
||||
|
||||
- Worked in an agile/scrum environment, sparred with smaller teams.
|
||||
- Implemented complex authentication flows with modern security practices.
|
||||
- Guarded the dependencies
|
||||
|
||||
### **.NET / PHP Developer | Minty Media | Nov 2020 – Oct-2021**
|
||||
|
||||
- Implemented API bridges between Bol.com and WooCommerce
|
||||
- Setup CI/CD pipelines to streamline testing and deployment of applications
|
||||
- Started the development of a full hosting panel solution including DNS Editor, Domain purchasing, VPS Options etc.
|
||||
|
||||
### **Flutter Developer | Bots.io (Formerly RevenYOU) | Mar 2019 – Oct-2019**
|
||||
|
||||
- Spearheaded the development of the Bots.io App, with now more than 1M+ downloads.
|
||||
- Implemented the skeleton of the app and sparred with UI designers to make it the best it can be.
|
||||
|
||||
### **All Round/Repair Technician/Sales | Com Today | Jan 2014 – Mar 2019**
|
||||
|
||||
- Developed an in-house cashier program in PHP to track sales, expenses, stock and ongoing tasks.
|
||||
- Worked on repairing computers, laptops, phones, and anything in between.
|
||||
- Maintained stock, sold new systems to customers, and assisted customers with technical support.
|
||||
|
||||
## Education
|
||||
|
||||
|
||||
### **MBO 4 Application & Media developer | Nova College in Beverwijk | Aug 2015 – May 2019**
|
||||
|
||||
- Working with scrum/agile methodologies.
|
||||
- Improved my existing self-thought knowledge in Object-oriented programming and design patterns.
|
||||
- Using version control to manage code with Git and Subversion.
|
||||
|
||||
### **MBO 2 Occupation IT Employee | Nova College in Beverwijk | 2012 – 2014**
|
||||
|
||||
- Building, diagnosing and repairing computers.
|
||||
- Completed multiple Cisco and Aries courses related to networking and computer technologies.
|
||||
|
||||
## Hobbies
|
||||
|
||||
- Astrophotography & image processing
|
||||
- Beautiful photos of galaxies, nebula and star fields.
|
||||
- Take a look at [astrobin.com/users/vleeuwenmenno](https://www.astrobin.com/users/vleeuwenmenno/) for my best work.
|
||||
- Learning about cultures & languages while travelling
|
||||
- Trying to go outside my comfort zone and speak another language while learning about their cultures.
|
||||
- Creating endless programming test projects
|
||||
- That sometimes evolve into something more
|
||||
- FPV Freestyle Drones & Cinematic
|
||||
- Building, flying and of course crashing drones, usually in the summer.
|
||||
|
||||
|
||||
## References
|
||||
|
||||
Available upon request.
|
||||
@@ -1,13 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Resume - Menno Cornelis van Leeuwen</title>
|
||||
<link rel="stylesheet" href="/css/stylesheet.css" />
|
||||
</head>
|
||||
|
||||
<body class="stackedit">
|
||||
<div class="stackedit__html">$body$</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Resume/CV Website (Nginx)
|
||||
# services.nginx = {
|
||||
# enable = true;
|
||||
# virtualHosts."localhost:4203" = {
|
||||
# root = "/home/menno/dotfiles/config/nixos/packages/server/mennovanleeuwen.nl";
|
||||
# locations."/" = {
|
||||
# index = "index.html";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
}
|
||||
@@ -2,9 +2,7 @@
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = [
|
||||
./1password.nix
|
||||
./flatpak.nix
|
||||
./steam.nix
|
||||
./pano.nix
|
||||
./1password.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
environment.systemPackages = [ (pkgs.callPackage ./pano { }) ];
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchzip,
|
||||
lib,
|
||||
gnome,
|
||||
glib,
|
||||
libgda,
|
||||
gsound,
|
||||
substituteAll,
|
||||
wrapGAppsHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-pano";
|
||||
version = "v23-alpha3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/oae/gnome-shell-pano/releases/download/${version}/pano@elhan.io.zip";
|
||||
sha256 = "LYpxsl/PC8hwz0ZdH5cDdSZPRmkniBPUCqHQxB4KNhc=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./gnome-shell-extension-pano.patch;
|
||||
gsound_path = "${gsound}/lib/girepository-1.0";
|
||||
gda_path = "${libgda}/lib/girepository-1.0";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome.gnome-shell
|
||||
libgda
|
||||
gsound
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
local_ext_dir=$out/share/gnome-shell/extensions/pano@elhan.io
|
||||
install -d $local_ext_dir
|
||||
cp -r * $local_ext_dir
|
||||
|
||||
# Ensure typelibs are directly accessible
|
||||
mkdir -p $out/lib/girepository-1.0
|
||||
ln -s ${gsound}/lib/girepository-1.0/* $out/lib/girepository-1.0/
|
||||
ln -s ${libgda}/lib/girepository-1.0/* $out/lib/girepository-1.0/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Pano GNOME Shell Clipboard Management Extension (${version} pre-release)";
|
||||
homepage = "https://github.com/oae/gnome-shell-pano";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.zvictor ];
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/extension.js
|
||||
+++ b/extension.js
|
||||
@@ -1,3 +1,7 @@
|
||||
+import GIRepository from 'gi://GIRepository';
|
||||
+GIRepository.Repository.prepend_search_path('@gda_path@');
|
||||
+GIRepository.Repository.prepend_search_path('@gsound_path@');
|
||||
+
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
import * as extension_js from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -14,6 +14,8 @@
|
||||
"video"
|
||||
"render"
|
||||
"users"
|
||||
"input"
|
||||
"adbusers"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# This is the authrorized_keys file for the user mennos-laptop
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# This is the authrorized_keys file for the user mennos-gamingpc
|
||||
# This is the authrorized_keys file for the user mennos-laptop
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# This is the authrorized_keys file for the user mennos-laptop
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# This is the authrorized_keys file for the user mennos-server
|
||||
# This is the authrorized_keys file for the user mennos-laptop
|
||||
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-----
|
||||
|
||||
jA0ECQMI71xa/M78CPH/0sABAWePpHsecx8nyyOTGKuQGT2gXkYLPDnYZ+tZRCWX
|
||||
YTGatN0+/jGc+5aluZfIZxJ7ukR+Fv+0DmdiWLHD/tNZsCvhYv5ULUjqW4uZWxsZ
|
||||
dnS6AnvYYVKPd8g9RopIh/gKQpEnMWZkD1LQ/xrXByMBS/yn+MZ6cwV33k7lWC3x
|
||||
qGlpdk9nmmTdEdEW8Jcby1izrNFzrOhMVxmokZ96q3S+/9gzJs9awdNoCqMhG7mR
|
||||
7BeCD7ljyg8rvFkQyccrdUOQPQ==
|
||||
=blvW
|
||||
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-----
|
||||
|
||||
jA0ECQMI9K855NRHvZn/0sA2Ad1WfRHgB8vPtrPs9XXSm/NRgopAvuUON9AucQEE
|
||||
MCwfFuVbCyI9Ys3QrlyVhVgCb87YWYymT6LwxA8qSci1Y+WO5Pou5QD9zKnhNR2m
|
||||
KusG784K9YYj0cs7F0h8ecHAqpiu+kjhD6lEENCtYrHBd2Nv5Y3dTsFVgWVkBAYw
|
||||
YMoRb/e3d76BM2Jxm3nQLC+Bq6YrAPBbV6iwAZ/3yiunVBmzSdtB5Ksiz2y14C2U
|
||||
X3c6+m5x1eZj8IIufp0HR6AKbhtrHI5pRWtSEIcZnR9L1AiPTCfaT18JH2qZ1x81
|
||||
qQdWGj2donyx451Gbi1JXPrCdOP3tszR
|
||||
=BP/T
|
||||
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-----
|
||||
|
||||
jA0ECQMI35Tv4sOHHFP/0sCiATjXa++7x2ShpxMOSYkYv9EjI3Bw20iC3S6eN9EM
|
||||
mKo/zxJHCytI936OT9buxcEWgz9eIzQqFPl1H6W+ElKbQ79X401hLC3VkFUnlF/5
|
||||
RPAyVObbSoH1u1H3KVJ0LIguyCghxqxBCt1BEmS8R+y27PC0yCAl3fms6bfSt+mF
|
||||
MZIGXSrczmmuwzIRIUhXwqEpSLnnmpziQ22B/Npr2Asu3nwCA4zHan7doVPwCroH
|
||||
XA5HsQThAWx5G5FyQRAeAPneg6icJso7gvqBVMkuGLfh1BGAf2u5eHgbKopfdYh2
|
||||
NpE4JujzwMpp3e36NAuYcaR3JCodB3ULp0iPBtfqC7nfgm/XWHtul9pyIjIqFZG7
|
||||
8NFHRcbvvVRpP04/ESWS9Qlbc8x9A3jV3JdCHLup/W5xVJBVH0/XBP70rRCyVyxQ
|
||||
/4NJviMnzAXfFDRoEcNKVtdz2zQ20gVCBBOFVv/aGAtpuZNC
|
||||
=DPk2
|
||||
jA0ECQMILwzTWNDBbZX/0sAeAQMlmiKRJM5YPtC78LvlLroqE5R6hysJq1nGV34U
|
||||
CcY7XmuLz/Bvx2/ZGE1urY48AmgNZraiKOh8kfTG5T7dCTqrkMiz1MpNRYVdnXvW
|
||||
LOanl3+alv6tmosD52zn4vRmRCnIaqE/k6ne+NV4BuRj0u9qWLoNI/7uGFnjcvI3
|
||||
mGYlDF7ArQH0gVpmW8wmlNFzMPe4ccqWMjGbpB1h3TEALy4nh2wwNH5PvF1FKesJ
|
||||
iq4Vvhslo8LbyjQdkA7/fPlYEu1MDJKDCaHWwmAevMwNuGNLrdupyOf2KkHSYmUB
|
||||
=ULsR
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
34
secrets/transip-discountoffice.pem.gpg
Normal file
34
secrets/transip-discountoffice.pem.gpg
Normal file
@@ -0,0 +1,34 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
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
|
||||
PppWvUzUlOlJJPetJb5F
|
||||
=U7VL
|
||||
-----END PGP MESSAGE-----
|
||||
@@ -1,12 +1,12 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIy4/a+BamXVv/0sCXAeA0EVKKki2mEoXI7GFg1orbBpnUfvM/sj7ISlHE
|
||||
hues8qd3343KYZyIv/dBweWK13koZmXchfMPMHN61ygA9Y0uf35VLaMKWSudF77a
|
||||
aHDdnMtuSnd0fdDQ3GaYIRGFd6SlRCpfiQ2Nhno+69GRotCxpgoNife9AQVPS4nM
|
||||
ycqURKfck2UG0bPLSpjMEiZz+pFaNQ3vyGl6sjC5Zj2SkZDzftJb+TkEshwI6FZ/
|
||||
XFaodI2rFLQb/oGFQKnZ/fbyChhgfqWn3Na+KMupqJ4S3/Ef3WpTdZ/kYvgVUih6
|
||||
H3iZFptSJ8sfOnabebwvziHKTh/3H7Tek9jgoBsJ2fYdpDx5l/Oz9jy7IZUo7+hl
|
||||
xYWEHENxNQAXIZAl80uaCuLzzW8wK0vWDju8en4dAxms1dNRiZRNSMuE4IZ+/eYP
|
||||
bz9JnJguccAyaJvDGrGnE9GtegN3l3jYaw==
|
||||
=p0YP
|
||||
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-----
|
||||
|
||||
68
setup.sh
68
setup.sh
@@ -4,7 +4,7 @@ set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# Constants
|
||||
readonly NIXOS_RELEASE="24.05"
|
||||
readonly NIXOS_RELEASE="24.11"
|
||||
readonly GIT_REPO="https://git.mvl.sh/vleeuwenmenno/dotfiles.git"
|
||||
readonly DOTFILES_DIR="${HOME}/dotfiles"
|
||||
readonly SETUP_MARKER="${HOME}/.dotfiles-setup"
|
||||
@@ -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
|
||||
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
fi
|
||||
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -377,30 +389,56 @@ prepare_hostname() {
|
||||
log_error "Invalid hostname. Please enter a valid hostname:"
|
||||
done
|
||||
|
||||
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"
|
||||
log_success "Hostname set successfully."
|
||||
}
|
||||
|
||||
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
|
||||
@@ -417,10 +455,24 @@ main() {
|
||||
git clone "$GIT_REPO" "$DOTFILES_DIR" || die "Failed to clone dotfiles repository"
|
||||
fi
|
||||
|
||||
# Run setup steps
|
||||
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
|
||||
|
||||
|
||||
install_home_manager
|
||||
setup_symlinks
|
||||
|
||||
@@ -428,10 +480,12 @@ main() {
|
||||
local hostname
|
||||
hostname=$(cat "$HOME/.hostname") || die "Failed to read hostname"
|
||||
|
||||
# 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"
|
||||
|
||||
@@ -40,5 +40,6 @@
|
||||
"git.confirmSync": false,
|
||||
"[dockercompose]": {
|
||||
"editor.defaultFormatter": "ms-azuretools.vscode-docker"
|
||||
}
|
||||
},
|
||||
"go.toolsManagement.autoUpdate": true,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user