adds mennos-laptop as host, adds nextcloud, adds nil and nixd for zed

language servers to work. updates setup to support 25.04
This commit is contained in:
2025-08-27 13:55:31 +02:00
parent 2caea9b483
commit 46a9f3e99b
12 changed files with 111 additions and 202 deletions

View File

@@ -1,6 +1,5 @@
[workstations]
mennos-laptop-w ansible_connection=local
mennos-cachyos-laptop ansible_connection=local
mennos-laptop ansible_connection=local
mennos-desktop ansible_connection=local
[servers]

View File

@@ -12,7 +12,7 @@
- name: Include workstation tasks
ansible.builtin.import_tasks: tasks/workstations/workstation.yml
when: inventory_hostname in ['mennos-laptop-w', 'mennos-cachyos-laptop', 'mennos-desktop']
when: inventory_hostname in ['mennos-laptop', 'mennos-desktop']
- name: Include server tasks
ansible.builtin.import_tasks: tasks/servers/server.yml

View File

@@ -34,8 +34,7 @@
vars:
gitconfig_mapping:
mennos-desktop: "$DOTFILES_PATH/config/git/gitconfig.linux"
mennos-cachyos-laptop: "$DOTFILES_PATH/config/git/gitconfig.linux"
mennos-laptop-w: "$DOTFILES_PATH/config/git/gitconfig.wsl"
mennos-laptop: "$DOTFILES_PATH/config/git/gitconfig.linux"
mennos-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
mennos-vm: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
tags:

View File

@@ -55,5 +55,7 @@
- distrobox
# Android Screen Mirroring
- scrcpy
- dolphin-nextcloud
- nextcloud-desktop
state: present
become: true

0
config/autostart/io.github.mrvladus.List.desktop Executable file → Normal file
View File

View File

@@ -1,43 +0,0 @@
[user]
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
email = menno@vleeuwen.me
name = Menno van Leeuwen
[gpg]
format = ssh
[gpg "ssh"]
program = "/mnt/c/Users/menno/AppData/Local/1Password/app/8/op-ssh-sign-wsl"
[commit]
gpgsign = true
[color]
ui = true
[push]
autoSetupRemote = true
[pull]
rebase = false
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[init]
defaultBranch = main
[credential "https://github.com"]
helper =
helper = !/home/menno/.nix-profile/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper =
helper = !/home/menno/.nix-profile/bin/gh auth git-credential
[safe]
directory = *
[alias]
pushall = "!f() { for var in $(git remote show); do echo \"pushing to $var\"; git push $var; done; }; f"

View File

@@ -47,7 +47,7 @@
};
};
"mennos-cachyos-laptop" = home-manager.lib.homeManagerConfiguration {
"mennos-laptop" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./home.nix ];
extraSpecialArgs = {
@@ -57,49 +57,7 @@
opnix
;
isServer = false;
hostname = "mennos-cachyos-laptop";
};
};
"mennos-server" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./home.nix ];
extraSpecialArgs = {
inherit
pkgs
pkgs-unstable
opnix
;
isServer = true;
hostname = "mennos-server";
};
};
"mennos-vm" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./home.nix ];
extraSpecialArgs = {
inherit
pkgs
pkgs-unstable
opnix
;
isServer = true;
hostname = "mennos-vm";
};
};
"mennos-laptop-w" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./home.nix ];
extraSpecialArgs = {
inherit
pkgs
pkgs-unstable
opnix
;
isServer = false;
hostname = "mennos-laptop-w";
hostname = "mennos-laptop";
};
};
};

View File

@@ -9,109 +9,104 @@
imports =
if hostname == "mennos-desktop" then
[ ./hosts/mennos-desktop.nix ]
else if hostname == "mennos-laptop-w" then
[ ./hosts/mennos-laptop-w.nix ]
else if hostname == "mennos-cachyos-laptop" then
[ ./hosts/mennos-cachyos-laptop.nix ]
else if hostname == "mennos-server" then
[ ./hosts/mennos-server.nix ]
else if hostname == "mennos-vm" then
[ ./hosts/mennos-vm.nix ]
else if hostname == "mennos-laptop" then
[ ./hosts/mennos-laptop.nix ]
else
[ ./hosts/fallback.nix ];
home.packages =
with pkgs;
[
# General packages
git
onefetch
gnupg
gh
nixfmt-rfc-style
wget
fastfetch
_1password-cli
home.packages =
with pkgs;
[
# General packages
git
onefetch
gnupg
gh
nixfmt-rfc-style
nixd
nil
wget
fastfetch
_1password-cli
# Package management
devbox
# Package management
devbox
# Development SDKs/Toolkits
gcc
pkg-config
gnumake
stdenv.cc
rustc
cargo
cargo-edit
cargo-watch
cargo-audit
cargo-expand
cargo-tarpaulin
act # GitHub Actions CLI
# Development SDKs/Toolkits
gcc
pkg-config
gnumake
stdenv.cc
rustc
cargo
cargo-edit
cargo-watch
cargo-audit
cargo-expand
cargo-tarpaulin
act # GitHub Actions CLI
# File and directory operations
eza # Modern ls
bat # Modern cat
broot # Interactive directory navigator
du-dust # Modern du
duf # Modern df
zip
unzip
glances # Advanced system monitoring tool
procs # Modern ps
hyperfine # Benchmarking tool
# File and directory operations
eza # Modern ls
bat # Modern cat
broot # Interactive directory navigator
du-dust # Modern du
duf # Modern df
zip
unzip
glances # Advanced system monitoring tool
procs # Modern ps
hyperfine # Benchmarking tool
# Search and text processing
ripgrep # Modern grep
sd # Modern sed
choose # Modern cut
jq # JSON processor
yq # YAML processor
xan # CSV processor (xsv is no longer maintained)
ncdu # Disk usage analyzer
# Search and text processing
ripgrep # Modern grep
sd # Modern sed
choose # Modern cut
jq # JSON processor
yq # YAML processor
xan # CSV processor (xsv is no longer maintained)
ncdu # Disk usage analyzer
# System monitoring and process management
procs # Modern ps
hyperfine # Benchmarking tool
bandwhich # Network utilization tool
doggo # Modern dig
gping # Ping with graph
htop # Interactive process viewer
# System monitoring and process management
procs # Modern ps
hyperfine # Benchmarking tool
bandwhich # Network utilization tool
doggo # Modern dig
gping # Ping with graph
htop # Interactive process viewer
# Development utilities
delta # Better git diff
difftastic # Structural diff tool
fzf # Fuzzy finder
tokei # Code statistics
tealdeer # Modern tldr client
lazygit # Terminal UI for git
# Development utilities
delta # Better git diff
difftastic # Structural diff tool
fzf # Fuzzy finder
tokei # Code statistics
tealdeer # Modern tldr client
lazygit # Terminal UI for git
# Shell and terminal
starship # Cross-shell prompt
blesh # Bash ble.sh
zellij # Modern terminal multiplexer
screen # Terminal multiplexer
# Shell and terminal
starship # Cross-shell prompt
blesh # Bash ble.sh
zellij # Modern terminal multiplexer
screen # Terminal multiplexer
# File viewers and processors
hexyl # Modern hexdump
chafa # Terminal image viewer
glow # Markdown renderer
# File viewers and processors
hexyl # Modern hexdump
chafa # Terminal image viewer
glow # Markdown renderer
# Editors
neovim
## Neovim plugins
vimPlugins.LazyVim
# Editors
neovim
## Neovim plugins
vimPlugins.LazyVim
nano
micro
nano
micro
# Lolz
fortune
cowsay
cmatrix
figlet
lolcat
]
++ (with pkgs-unstable; [ ]);
# Lolz
fortune
cowsay
cmatrix
figlet
lolcat
];
}

View File

@@ -99,4 +99,4 @@ useDownloadLimit=0
useUploadLimit=0
[Settings]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\x4\xe\0\0\x2\xa4\0\0\x6\x98\0\0\0\0\0\0\x4\xe\0\0\x2\xa4\0\0\x6\x98\0\0\0\x1\0\0\0\0\x14\0\0\0\0\0\0\0\x4\xe\0\0\x2\xa4\0\0\x6\x98)
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\b\0\0\0\0\0\0\0\n\xa4\0\0\x2\x8a\0\0\b\0\0\0\0\0\0\0\n\xa4\0\0\x2\x8a\0\0\0\x1\0\0\0\0\x11\x64\0\0\b\0\0\0\0\0\0\0\n\xa4\0\0\x2\x8a)

View File

@@ -4,7 +4,7 @@ set -euo pipefail
IFS=$'\n\t'
# Constants
readonly NIXOS_RELEASE="25.05" # Home Manager release version (Must match NixOS version)
readonly NIXOS_RELEASE="25.05" # Home Manager release version (Must match NixOS version)
readonly GIT_REPO="https://git.mvl.sh/vleeuwenmenno/dotfiles.git" # Dotfiles repository URL
readonly DOTFILES_PATH="${HOME}/.dotfiles" # Dotfiles directory
readonly SETUP_MARKER="${HOME}/.dotfiles-setup" # Setup marker file indicates setup has been run
@@ -52,7 +52,7 @@ printfe() {
"magenta")
color=$magenta
;;
"cyan")
"cyan")
color=$cyan
;;
"grey")
@@ -69,7 +69,7 @@ printfe() {
fi
printf $grey"%s" "$(date +'%H:%M:%S')"$normal
case $color in
$green | $cyan | $blue | $magenta | $normal)
printf "$green INF $normal"
@@ -113,11 +113,11 @@ die() {
request_sudo() {
log_info "This script requires sudo privileges to run, please enter your password."
sudo -v || die "Failed to obtain sudo privileges"
# Keep sudo credentials refreshed in the background
(while true; do sudo -v; sleep 50; done) &
SUDO_KEEPALIVE_PID=$!
# Ensure we kill the keepalive process when the script exits
trap 'kill $SUDO_KEEPALIVE_PID 2>/dev/null || true' EXIT
}
@@ -170,7 +170,7 @@ update_home_manager_flake() {
local hostname="$1"
local isServer="$2"
local flake_file="$DOTFILES_PATH/config/home-manager/flake.nix"
# Create new configuration entry
local new_config=" \"$hostname\" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
@@ -185,10 +185,10 @@ update_home_manager_flake() {
# Create temporary file
local temp_file=$(mktemp)
# Find the line number where homeConfigurations = { appears
local config_line=$(grep -n "homeConfigurations = {" "$flake_file" | cut -d: -f1)
if [ -z "$config_line" ]; then
rm "$temp_file"
die "Could not find homeConfigurations in flake.nix"
@@ -196,10 +196,10 @@ update_home_manager_flake() {
# Copy the file up to the line after homeConfigurations = {
head -n "$config_line" "$flake_file" > "$temp_file"
# Add the new configuration
echo "$new_config" >> "$temp_file"
# Add the rest of the file starting from the line after homeConfigurations = {
tail -n +"$((config_line + 1))" "$flake_file" >> "$temp_file"
@@ -223,7 +223,7 @@ install_nix() {
log_info "Nix not detected, installing Nix..."
curl --proto '=https' --tlsv1.2 -sSf -L "https://install.determinate.systems/nix?version=${NIXOS_RELEASE}" -o install-nix.sh || \
die "Failed to download Nix installer"
sh install-nix.sh install --no-confirm || die "Failed to install Nix"
rm install-nix.sh || die "Failed to remove Nix installer"
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh || die "Failed to source Nix profile"
@@ -403,10 +403,10 @@ check_compatibility() {
check_command_availibility "dnf"
;;
Ubuntu)
# Check if we are running either 22.04, 24.04 or 24.10
if ! grep -q "Ubuntu 22.04" /etc/os-release && ! grep -q "Ubuntu 24.04" /etc/os-release && ! grep -q "Ubuntu 24.10" /etc/os-release; then
# Check if we are running either 22.04, 24.04, 24.10 or 25.04
if ! grep -q "Ubuntu 22.04" /etc/os-release && ! grep -q "Ubuntu 24.04" /etc/os-release && ! grep -q "Ubuntu 24.10" /etc/os-release && ! grep -q "Ubuntu 25.04" /etc/os-release; then
log_warning "Unsupported Ubuntu version detected. Setup may not work as expected."
log_warning "Supported versions are: Ubuntu 22.04, 24.04, 24.10"
log_warning "Supported versions are: Ubuntu 22.04, 24.04, 24.10, 25.04"
fi
log_success "Detected Ubuntu. Proceeding with setup..."
check_command_availibility "apt"
@@ -485,7 +485,7 @@ main() {
git clone "$GIT_REPO" "$DOTFILES_PATH" || die "Failed to clone dotfiles repository"
echo ""
fi
if [ "$continue_flag" = "--continue" ]; then
log_info "Continuing setup..."
else

View File

@@ -72,7 +72,7 @@
"window.confirmSaveUntitledWorkspace": false,
"git.openRepositoryInParentFolders": "never",
"debug.toolBarLocation": "commandCenter",
"workbench.colorTheme": "One Dark Pro Darker",
"workbench.colorTheme": "Catppuccin Macchiato",
"ansible.lightspeed.enabled": false,
"ansible.lightspeed.suggestions.enabled": false,
"docker.extension.enableComposeLanguageServer": false,
@@ -85,7 +85,6 @@
"git show"
],
"roo-cline.deniedCommands": [],
"dart.flutterSdkPath": "/home/menno/.flutter/flutter",
"kilo-code.allowedCommands": [
"npm test",
"npm install",
@@ -96,5 +95,5 @@
],
"kilo-code.deniedCommands": [],
"github.copilot.nextEditSuggestions.enabled": true,
"workbench.iconTheme": "material-icon-theme"
"workbench.iconTheme": "vscode-icons"
}