diff --git a/.bashrc b/.bashrc index 574ab66..99b76e6 100644 --- a/.bashrc +++ b/.bashrc @@ -7,11 +7,15 @@ HISTFILESIZE=2000 # Adjusted to match both histfile and size criteria alias docker-compose='docker compose' alias gg='git pull' alias gl='git log --stat' + +# Modern tools aliases alias l="eza --header --long --git --group-directories-first --group --icons --color=always --sort=name --hyperlink -o --no-permissions" alias ll='l' alias la='l -a' -alias ddpul='docker compose down && docker compose pull && docker compose up -d && docker compose logs -f' alias cat='bat' +alias du='dust' +alias df='duf' +alias rm="echo Use 'rip' instead of rm." # Docker Aliases alias d='docker' @@ -23,9 +27,12 @@ alias dcu='docker compose up' alias dcp='docker compose ps' alias dcps='docker compose ps' alias dcr='docker compose run' +alias ddpul='docker compose down && docker compose pull && docker compose up -d && docker compose logs -f' # Git aliases alias g='git' +alias gg='git pull' +alias gp='git push' alias gs='git status -s' alias gst='git status' alias ga='git add' @@ -37,9 +44,6 @@ alias gcb='git checkout -b' # netstat port in use check alias port='netstat -atupn | grep LISTEN' -# Hotkeys daemon -alias hk='dotf hotkey-daemon' - # Alias for ls to l but only if it's an interactive shell because we don't want to override ls in scripts which could blow up in our face if [ -t 1 ]; then alias ls='l' @@ -55,11 +59,6 @@ export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/.cargo/bin export PATH=$PATH:$HOME/dotfiles/bin -# Go Configuration -export GOPATH=$HOME/.go -export GOROOT=$HOME/.go-root -export PATH=$PATH:$GOROOT/bin:$GOPATH/bin - # Tradaware / DiscountOffice Configuration if [ -d "/home/menno/Projects/Work" ]; then export TRADAWARE_FROM_SOURCE=true @@ -86,10 +85,16 @@ fi # Starship Prompt Initialization (Adapted for Bash) eval "$(starship init bash)" +# Source nix home-manager +. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" + +# Source agent-bridge script for 1password +source $HOME/dotfiles/bin/1password-agent-bridge.sh + +# zoxide +eval "$(zoxide init bash)" + # Display a welcome message for interactive shells if [ -t 1 ]; then dotf term fi - -# Source optional agent-bridge script for WSL (This returns early if it's not on WSL) -source $HOME/dotfiles/bin/1password-agent-bridge.sh diff --git a/bin/1password-agent-bridge.sh b/bin/1password-agent-bridge.sh index 8f9a6d8..ad587d5 100755 --- a/bin/1password-agent-bridge.sh +++ b/bin/1password-agent-bridge.sh @@ -1,4 +1,5 @@ source $HOME/dotfiles/bin/helpers/functions.sh +export SSH_AUTH_SOCK=$HOME/.1password/agent.sock # Check if is_wsl function returns true, don't continue if we are not on WSL if ! is_wsl; then @@ -6,8 +7,6 @@ if ! is_wsl; then fi printfe "%s" "cyan" "Running in WSL, ensuring 1Password SSH-Agent relay is running..." - -export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock ALREADY_RUNNING=$(ps -auxww | grep -q "[n]piperelay.exe -ei -s //./pipe/openssh-ssh-agent"; echo $?) if [[ $ALREADY_RUNNING != "0" ]]; then if [[ -S $SSH_AUTH_SOCK ]]; then diff --git a/bin/actions/export.sh b/bin/actions/export.sh index b576f2a..ba91e47 100755 --- a/bin/actions/export.sh +++ b/bin/actions/export.sh @@ -6,9 +6,6 @@ printfe "%s\n" "cyan" "Exporting GNOME extensions" source $HOME/dotfiles/bin/helpers/gnome_extensions.sh export_gnome_extensions -printfe "%s\n" "cyan" "Exporting VSCode extensions" -code --list-extensions | jq -R -s -c 'split("\n")[:-1]' > ~/dotfiles/vscode/extensions.json - printfe "%s\n" "cyan" "Exporting gnome-terminal settings" dconf dump /org/gnome/terminal/ > ~/dotfiles/config/gnome-terminal.dconf diff --git a/bin/actions/startup-runner.sh b/bin/actions/startup-runner.sh deleted file mode 100755 index 0216454..0000000 --- a/bin/actions/startup-runner.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -x-terminal-emulator -e $HOME/dotfiles/bin/actions/startup.sh $@ diff --git a/bin/actions/startup.sh b/bin/actions/startup.sh deleted file mode 100755 index 85ce511..0000000 --- a/bin/actions/startup.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -countdown() { - for i in $(seq $1 -1 1); do - printfe "%s" "green" " - Waiting for $i seconds... " - echo -en "\r" - sleep 1 - done -} - -run_startup_scripts() { - if is_wsl; then - echo "Running in WSL, skipping startup scripts." - return - fi - - logo continue - echo "" - local time_of_day - # Time of day (morning, afternoon, evening, night) - case $(date +%H) in - 0[0-9]|1[0-1]) - time_of_day="morning" - emoji="πŸŒ…" - ;; - 1[2-7]) - time_of_day="afternoon" - emoji="🌞" - ;; - 1[8-9]|2[0-3]) - time_of_day="evening" - emoji="πŸŒ†" - ;; - esac - - # Run the welcome.py from $HOME/dotfiles/bin/helpers/welcome.py - python3 $HOME/dotfiles/bin/helpers/welcome.py - echo "" - - # Initialize array to hold commands - local startup_commands=() - - # Read each command key and add it to the array - while IFS= read -r command; do - startup_commands+=("$command") - done < <(cat $HOME/dotfiles/config/config.yaml | shyaml keys config.startup.commands) - - # Read delay and delay_between_ms values from YAML - local delay=$(cat $HOME/dotfiles/config/config.yaml | shyaml get-value config.startup.delay) - local delay_between_ms=$(cat $HOME/dotfiles/config/config.yaml | shyaml get-value config.startup.delay_between_ms) - - printfe "%s\n" "cyan" "Running startup commands... (delay: $delay s, delay_between: $delay_between_ms ms)" - - # Wait for the initial delay - countdown $delay - - # Ensure the log folder exists - mkdir -p $HOME/dotfiles/logs/startup - - # Execute each command in a new screen window - for command_key in "${startup_commands[@]}"; do - local command=$(cat $HOME/dotfiles/config/config.yaml | shyaml get-value config.startup.commands.$command_key) - - printfe "%s" "green" " - Running '" - printfe "%s" "blue" "$command_key" - printfe "%s" "green" "'... (" - printfe "%s" "blue" "$command" - printfe "%s\n" "green" ")" - - # Check if a screen with the same name already exists, if so log it and don't run the command - if screen -list | grep -q $command_key; then - printfe "%s" "red" " - Screen session already exists: " - printfe "%s" "blue" "$command_key" - printfe "%s\n" "red" "" - continue - fi - - # Ensure the log file exists, if it exists, clear it - touch $HOME/dotfiles/logs/startup/$command_key.log - - # Run the command in a new screen session named after the command_key - screen -dmS $command_key bash -c "eval $command > $HOME/dotfiles/logs/startup/$command_key.log 2>&1" - sleep $(echo "scale=2; $delay_between_ms / 1000" | bc) - - if ! screen -list | grep -q $command_key; then - printfe "%s" "red" " - Screen session died immediately: " - printfe "%s" "blue" "$command_key" - printfe "%s\n" "red" " (Within $delay_between_ms ms, check the logs for more information in $HOME/dotfiles/logs/startup/$command_key.log)" - continue - fi - - # Check if command is ok, if not log that it failed - if [ $? -ne 0 ]; then - printfe "%s" "red" " - Command failed: " - printfe "%s" "blue" "$command" - printfe "%s\n" "red" "" - fi - done -} - -# Check if we're in a graphical session -if [[ -z "$DISPLAY" && "$XDG_SESSION_TYPE" != "x11" && "$XDG_SESSION_TYPE" != "wayland" ]]; then - echo "Not in a graphical session. Exiting." - exit 0 -fi - -run_startup_scripts - -echo "" - -# Show message to press any key to close the terminal window -printfe "%s\n" "green" "Press any key to close this window..." -read -s -n 1 -exit 0 diff --git a/bin/actions/status.sh b/bin/actions/status.sh index 656a2d9..96a0c92 100755 --- a/bin/actions/status.sh +++ b/bin/actions/status.sh @@ -1,12 +1,9 @@ #!/usr/bin/env bash source $HOME/dotfiles/bin/helpers/functions.sh -source $HOME/dotfiles/bin/helpers/keyboard_shortcuts.sh -source $HOME/dotfiles/bin/helpers/apt_packages.sh source $HOME/dotfiles/bin/helpers/pipx_packages.sh source $HOME/dotfiles/bin/helpers/cargo_packages.sh source $HOME/dotfiles/bin/helpers/flatpak_packages.sh -source $HOME/dotfiles/bin/helpers/vscode-extensions.sh source $HOME/dotfiles/bin/helpers/fonts.sh # Check if parameter --verbose was passed @@ -18,10 +15,7 @@ fi echo -e "\n" -print_keyboard_shortcuts_status print_fonts_status -print_apt_status print_pipx_status print_cargo_status print_flatpak_status -print_vsc_status diff --git a/bin/actions/update.sh b/bin/actions/update.sh index 64a94e1..67b064b 100755 --- a/bin/actions/update.sh +++ b/bin/actions/update.sh @@ -16,43 +16,33 @@ if [ ! -x "$(command -v shyaml)" ]; then pipx install shyaml fi -groups() { - #################################################################################################### - # Ensure user groups - #################################################################################################### - - printfe "%s\n" "cyan" "Ensuring user groups..." - source $HOME/dotfiles/bin/helpers/user_groups.sh - ensure_user_groups -} - ensure_symlink() { local source local target # Fetch target from YAML - target=$(shyaml get-value "config.symlinks.$1.target" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + target=$(shyaml get-value "config.symlinks.$1.target" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) # Fetch source from YAML based on OS if [[ "$OSTYPE" == "linux-gnu"* ]]; then # Check for WSL2 if [[ $(uname -a) == *"microsoft-standard-WSL2"* ]]; then - source=$(shyaml get-value "config.symlinks.$1.sources.wsl" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + source=$(shyaml get-value "config.symlinks.$1.sources.wsl" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) else - source=$(shyaml get-value "config.symlinks.$1.sources.linux" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + source=$(shyaml get-value "config.symlinks.$1.sources.linux" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) fi elif [[ "$OSTYPE" == "darwin"* ]]; then - source=$(shyaml get-value "config.symlinks.$1.sources.macos" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + source=$(shyaml get-value "config.symlinks.$1.sources.macos" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) fi # Fall back to generic source if OS-specific source is empty if [ -z "$source" ]; then - source=$(shyaml get-value "config.symlinks.$1.source" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + source=$(shyaml get-value "config.symlinks.$1.source" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) fi # Attempt to use the hostname of the machine if source is still empty if [ -z "$source" ]; then - source=$(shyaml get-value "config.symlinks.$1.sources.$(hostname)" < "$HOME/dotfiles/config/config.yaml") 2>/dev/null + source=$(shyaml get-value "config.symlinks.$1.sources.$(hostname)" < "$HOME/dotfiles/config/config.yaml" 2>/dev/null) fi # Error out if source is still empty @@ -80,7 +70,7 @@ ensure_symlink() { resolved_target="$target" fi - current_chmod=$(stat -c %a "$resolved_target") + current_chmod=$(stat -c %a "$resolved_target" 2>/dev/null) if [ "$current_chmod" != "$desired_chmod" ]; then printfe "%s\n" "yellow" " - Changing chmod of $resolved_target to $desired_chmod" chmod "$desired_chmod" "$resolved_target" @@ -113,6 +103,11 @@ sys_packages() { brew upgrade brew cleanup else + if [ -x "$(command -v nixos-version)" ]; then + sudo nixos-rebuild switch + return + fi + sudo nala upgrade -y sudo nala autoremove -y --purge fi @@ -122,26 +117,18 @@ sys_packages() { # Update packages #################################################################################################### -cargopkgs() { - printfe "%s\n" "cyan" "Rust update..." - source $HOME/dotfiles/bin/helpers/rust.sh - ensure_rust_installed - +cargopkgs() { printfe "%s\n" "cyan" "Ensuring Cargo packages are installed..." source $HOME/dotfiles/bin/helpers/cargo_packages.sh ensure_cargo_packages_installed } -aptpkgs() { - printfe "%s\n" "cyan" "Ensuring APT repositories are added..." - source $HOME/dotfiles/bin/helpers/apt_packages.sh - ensure_repositories - - printfe "%s\n" "cyan" "Ensuring APT packages are installed..." - ensure_apt_packages_installed -} - pipxpkgs() { + if [ ! -x "$(command -v pipx)" ]; then + printfe "%s\n" "yellow" "pipx is not available, skipping pipx packages." + return + fi + printfe "%s\n" "cyan" "Ensuring pyenv is installed..." if [ ! -d "$HOME/.pyenv" ]; then curl https://pyenv.run | bash @@ -155,6 +142,11 @@ pipxpkgs() { } flatpakpkgs() { + if [ ! -x "$(command -v flatpak)" ]; then + printfe "%s\n" "yellow" "Flatpak is not available, skipping Flatpak." + return + fi + if is_wsl; then printfe "%s\n" "yellow" "Running in WSL, skipping Flatpak." return @@ -166,6 +158,12 @@ flatpakpkgs() { } dockercmd() { + # On NixOS this is managed by the docker.nix module + if [ -x "$(command -v nixos-version)" ]; then + printfe "%s\n" "yellow" "Detected NixOS, skipping Docker." + return + fi + printfe "%s\n" "cyan" "Ensuring Docker is installed..." source $HOME/dotfiles/bin/helpers/docker.sh ensure_docker_installed @@ -191,34 +189,12 @@ extensions() { printfe "%s\n" "cyan" "Ensuring GNOME Extensions are installed..." source $HOME/dotfiles/bin/helpers/gnome_extensions.sh ensure_gnome_extensions_installed - - printfe "%s\n" "cyan" "Ensuring VSCode extensions are installed..." - source $HOME/dotfiles/bin/helpers/vscode-extensions.sh - ensure_vscode_extensions_installed - - if [ ! -f "$HOME/.local/share/nemo/actions/vscode.nemo_action" ]; then - printfe "%s\n" "cyan" "Ensuring nemo open with VSCode extension is installed..." - wget https://raw.githubusercontent.com/mhsattarian/nemo-open-in-vscode/master/vscode.nemo_action -O $HOME/.local/share/nemo/actions/vscode.nemo_action - else - printfe "%s\n" "green" " - nemo open with VSCode extension is already installed" - fi } #################################################################################################### # Update system settings #################################################################################################### -keyboard() { - if is_wsl; then - printfe "%s\n" "yellow" "Running in WSL, skipping keyboard shortcuts." - return - fi - - printfe "%s\n" "cyan" "Setting up keyboard shortcuts..." - source $HOME/dotfiles/bin/helpers/keyboard_shortcuts.sh - ensure_keyboard_shortcuts -} - fonts() { if is_wsl; then printfe "%s\n" "yellow" "Running in WSL, skipping fonts." @@ -279,12 +255,16 @@ git_repos() { ensure_git_repos } +homemanager() { + home-manager switch +} + #################################################################################################### # Parse arguments #################################################################################################### # Multiple options can be passed to the script, for example: -# ./update.sh --verbose --groups --symlinks --packages --keyboard --fonts --default-terminal --default-shell +# ./update.sh --git --symlinks --packages # If no options are passed, the script will run all functions # Shift the first argument since this is the script name @@ -293,45 +273,39 @@ shift if [ "$#" -eq 0 ]; then printfe "%s\n" "yellow" "No options passed, running full update..." - git_repos - groups symlinks sys_packages - aptpkgs + homemanager cargopkgs pipxpkgs dockercmd + git_repos flatpakpkgs tailscalecmd extensions - keyboard fonts terminal default_shell else for arg in "$@"; do case $arg in + --homemanager) + homemanager + ;; --git) git_repos ;; - --groups) - groups - ;; --symlinks) symlinks ;; --packages) sys_packages cargopkgs - aptpkgs pipxpkgs flatpakpkgs dockercmd tailscalecmd ;; - --apt) - aptpkgs - ;; --pipx) pipxpkgs ;; @@ -350,9 +324,6 @@ else --extensions) extensions ;; - --keyboard) - keyboard - ;; --fonts) fonts ;; diff --git a/bin/dotf b/bin/dotf index b3305db..5ccdf6a 100755 --- a/bin/dotf +++ b/bin/dotf @@ -72,9 +72,6 @@ case $1 in "secrets") secrets $@ ;; - "startup") - $HOME/dotfiles/bin/actions/startup-runner.sh $@ - ;; "term") $HOME/dotfiles/bin/actions/term.sh $@ ;; diff --git a/bin/helpers/apt_packages.sh b/bin/helpers/apt_packages.sh deleted file mode 100755 index 0a183e4..0000000 --- a/bin/helpers/apt_packages.sh +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -add_brave_repo() { - # Check if we have a brave-browser-release.list file already, if not then create one - if [ ! -f /etc/apt/sources.list.d/brave-browser-release.list ]; then - sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg - echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list - result=$(sudo apt update 2>&1) - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to add Brave repository" - printfe "%s\n" "yellow" "$result" - exit 1 - fi - - printfe "%s\n" "yellow" " - Added Brave repository" - else - printfe "%s\n" "green" " - Brave repository already added" - fi -} - -add_1password_repo() { - # Check if we have a 1password.list file already, if not then create one - if [ ! -f /etc/apt/sources.list.d/1password.list ]; then - curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg - echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main' | sudo tee /etc/apt/sources.list.d/1password.list - sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/ - curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol - sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22 - curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg - result=$(sudo apt update 2>&1) - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to add 1Password repository" - printfe "%s\n" "yellow" "$result" - exit 1 - fi - - printfe "%s\n" "yellow" " - Added 1Password repository" - else - printfe "%s\n" "green" " - 1Password repository already added" - fi -} - -add_vscode_repo() { - # Check if we have a vscode.list file already, if not then create one - if [ ! -f /etc/apt/sources.list.d/vscode.list ]; then - wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg - sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg - echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null - rm -f packages.microsoft.gpg - result=$(sudo apt update 2>&1) - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to add VSCode repository" - printfe "%s\n" "yellow" "$result" - exit 1 - fi - - printfe "%s\n" "yellow" " - Added VSCode repository" - else - printfe "%s\n" "green" " - VSCode repository already added" - fi -} - -ensure_repositories() { - add_brave_repo - add_1password_repo - add_vscode_repo - - repos=($(cat $DOTFILES_CONFIG | shyaml get-values config.packages.apt.repos)) - for repo in "${repos[@]}"; do - repo_name=$(echo $repo | cut -d ":" -f 2) - - # Go through sources.list.d and check if there's a file containing part of URIs: https://ppa.launchpad.net/$repo_name - # We have to check the files not the file names since the file names are not always the same as the repo_name - result=$(grep -r "$repo_name" /etc/apt/sources.list.d/*) - if [ -z "$result" ]; then - printfe "%s\n" "yellow" " - Adding $repo_name repository..." - clear_line - - sudo add-apt-repository -y $repo - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to add $repo_name repository" - exit 1 - else - printfe "%s\n" "green" " - $repo_name repository added successfully" - fi - else - printfe "%s\n" "green" " - $repo_name repository already added" - fi - done -} - -ensure_apt_packages_installed() { - apt_packages=($(cat $DOTFILES_CONFIG | shyaml get-values config.packages.apt.apps | tr '\n' ' ')) - - # Check if apt_packages array contains duplicates - if [ $(echo $apt_packages | tr ' ' '\n' | sort | uniq -d | wc -l) -ne 0 ]; then - printfe "%s\n" "red" "The apt_packages array contains duplicates" - printfe "%s\n" "yellow" "Duplicates:" - printfe "%s\n" "blue" $(echo $apt_packages | tr ' ' '\n' | sort | uniq -d) - exit 1 - fi - - for package in "${apt_packages[@]}"; do - pkg_status=$(dpkg -s $package 2> /dev/null | grep "Status" | cut -d " " -f 4) - - # If pkg_status is `installed` then we don't need to install the package, otherwise if it's empty then the package is not installed - if [ -z $pkg_status ]; then - ensure_sudo_privileges "In order to install $package, please provide your password:" - - printfe "%s" "yellow" " - Installing $package..." - clear_line - - result=$(sudo apt install -y $package 2>&1) - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to install $package" - printfe "%s\n" "yellow" "$result" - exit 1 - else - printfe "%s\n" "green" " - $package installed successfully" - fi - else - printfe "%s\n" "green" " - $package is already installed" - fi - done -} - -print_apt_status() { - printfe "%s" "cyan" "Checking APT packages..." - clear_line - - apt_packages=($(cat $DOTFILES_CONFIG | shyaml get-values config.packages.apt.apps)) - - # count entries in packages - count=$(echo $apt_packages | wc -w) - installed=0 - - for package in "${apt_packages[@]}"; do - pkg_status=$(dpkg -s $package 2> /dev/null | grep "Status" | cut -d " " -f 4) - - if [ "$pkg_status" = "installed" ]; then - installed=$((installed + 1)) - else - if [ "$verbose" = true ]; then - printfe "%s\n" "red" "$package is not installed" - fi - fi - done - - printfe "%s" "cyan" "APT" - if [ $installed -eq $count ]; then - printfe "%s" "green" " $installed/$count " - else - printfe "%s" "red" " $installed/$count " - fi - printfe "%s\n" "cyan" "packages installed" -} diff --git a/bin/helpers/docker.sh b/bin/helpers/docker.sh deleted file mode 100755 index 17f4d3c..0000000 --- a/bin/helpers/docker.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -ensure_docker_installed() { - # if docker is already installed, skip the installation - if [ -x "$(command -v docker)" ]; then - printfe "%s\n" "green" " - Docker is already installed" - return - fi - - # Add Docker's official GPG key - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - - # Add Docker's repository - sudo add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" - - sudo apt update - sudo apt install -y docker-ce docker-ce-cli containerd.io - - # Check if it successfully installed - if [ -x "$(command -v docker)" ]; then - printfe "%s\n" "green" " - Docker is installed" - else - printfe "%s\n" "red" " - Docker is not installed" - printfe "%s\n" "red" " Something went wrong while installing Docker, investigate the issue" - exit 1 - fi - - sudo usermod -aG docker $USER - sudo systemctl start docker - sudo systemctl enable docker -} diff --git a/bin/helpers/functions.sh b/bin/helpers/functions.sh index b4a4d57..8ad8168 100755 --- a/bin/helpers/functions.sh +++ b/bin/helpers/functions.sh @@ -7,8 +7,7 @@ println() { } is_wsl() { - unameres=$(uname -a | grep -i "microsoft" | wc -l) - if [ -n "$unameres" ]; then + if [ -f "/proc/sys/fs/binfmt_misc/WSLInterop" ]; then return 0 else return 1 @@ -142,11 +141,87 @@ add_to_hosts() { fi } +function exesudo () +{ + ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## + # + # LOCAL VARIABLES: + # + ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## + + # + # I use underscores to remember it's been passed + local _funcname_="$1" + + local params=( "$@" ) ## array containing all params passed here + local tmpfile="/dev/shm/$RANDOM" ## temporary file + local content ## content of the temporary file + local regex ## regular expression + + + ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## + # + # MAIN CODE: + # + ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## + + # + # WORKING ON PARAMS: + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + # + # Shift the first param (which is the name of the function) + unset params[0] ## remove first element + # params=( "${params[@]}" ) ## repack array + + + # + # WORKING ON THE TEMPORARY FILE: + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + content="#!/bin/bash\n\n" + + # + # Write the params array + content="${content}params=(\n" + + regex="\s+" + for param in "${params[@]}" + do + if [[ "$param" =~ $regex ]] + then + content="${content}\t\"${param}\"\n" + else + content="${content}\t${param}\n" + fi + done + + content="$content)\n" + echo -e "$content" > "$tmpfile" + + # + # Append the function source + echo "#$( type "$_funcname_" )" >> "$tmpfile" + + # + # Append the call to the function + echo -e "\n$_funcname_ \"\${params[@]}\"\n" >> "$tmpfile" + + + # + # DONE: EXECUTE THE TEMPORARY FILE WITH SUDO + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + sudo bash "$tmpfile" + rm "$tmpfile" +} + resolve_path() { echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")" } check_or_make_symlink() { + source /home/menno/dotfiles/bin/helpers/functions.sh + SOURCE="$1" TARGET="$2" @@ -157,6 +232,22 @@ check_or_make_symlink() { SOURCE=$(resolve_path "$SOURCE") TARGET=$(resolve_path "$TARGET") + # Check if we have permissions to create the symlink + if [ ! -w "$(dirname "$TARGET")" ]; then + # Check if link exists + if [ -L "$TARGET" ]; then + # Check if it points to the correct location + if [ "$(readlink "$TARGET")" != "$SOURCE" ]; then + exesudo check_or_make_symlink "$SOURCE" "$TARGET" + return + fi + else + # Link doesn't exist but we don't have permissions to create it, so we should try to create it with sudosudo + exesudo check_or_make_symlink "$SOURCE" "$TARGET" + fi + return + fi + # If target is already a symlink, we should check if it points to the correct location if [ -L "$TARGET" ]; then if [ "$(readlink "$TARGET")" != "$SOURCE" ]; then diff --git a/bin/helpers/keyboard_shortcuts.sh b/bin/helpers/keyboard_shortcuts.sh deleted file mode 100755 index 354e58c..0000000 --- a/bin/helpers/keyboard_shortcuts.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -# Ensure jq is installed -if ! command -v jq &> /dev/null; then - echo "jq could not be found, please install it." - exit 1 -fi - -# Parse JSON file -shortcuts_file=~/dotfiles/gnome/keyboard-shortcuts.json -if [ ! -f "${shortcuts_file}" ]; then - echo "Shortcuts file not found: ${shortcuts_file}" - exit 1 -fi - -shortcuts=$(jq -r '.shortcuts' "${shortcuts_file}") - -ensure_swhkd() { - shortcuts_keys=($(cat "$DOTFILES_CONFIG" | shyaml keys config.keybinds)) - file_contents="" - for key in "${shortcuts_keys[@]}"; do - shortcut=$(cat "$DOTFILES_CONFIG" | shyaml get-value config.keybinds.$key.shortcut) - command=$(cat "$DOTFILES_CONFIG" | shyaml get-value config.keybinds.$key.command) - file_contents="${file_contents}\n${shortcut}\n ${command}\n\n" - printfe "%s\n" "green" " - Ensuring swhkd shortcut ${shortcut} command ${command}" - done - echo -e "${file_contents}" > $HOME/.config/swhkdrc -} - -ensure_keyboard_shortcuts() { - if is_wsl; then - printfe "%s\n" "yellow" "Running in WSL, skipping keyboard shortcuts." - return - fi - - printfe "%s\n" "green" " - Setting up swhkd configuration..." - ensure_swhkd - - # If swhkd is running, kill it - if pgrep -x "swhkd" > /dev/null; then - printfe "%s\n" "yellow" " - swhkd is running, killing it..." - sudo pkill swhkd - fi - - # Same for swhks - if pgrep -x "swhks" > /dev/null; then - printfe "%s\n" "yellow" " - swhks is running, killing it..." - sudo pkill swhks - fi - - # Start swhkd - printfe "%s\n" "green" " - starting swhkd..." - printfe "%s\n" "yellow" " Note: this will likely show a password prompt, please enter your password" - screen -dmS swhkd bash -c "$HOME/dotfiles/bin/actions/hotkey-daemon.sh" - - # Check if this is gnome DESKTOP_SESSION is gnome, if not we can stop here - # The next part is just for setting up custom shortcuts in GNOME - if [ "$XDG_CURRENT_DESKTOP" != "GNOME" ]; then - return - fi - - # Retrieve current custom keybindings - existing_bindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings | tr -d "[]'") - new_bindings=() - index=0 - - # Iterate over parsed JSON shortcuts - for key_combination in $(echo "$shortcuts" | jq -r 'keys[]'); do - command=$(echo "$shortcuts" | jq -r ".[\"$key_combination\"]") - - printfe '%s\n' "green" " - Ensuring GNOME shortcut ${key_combination} command ${command}" - - custom_binding="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${index}/" - new_bindings+=("$custom_binding") - - gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"${custom_binding}" name "${key_combination} to run ${command}" - gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"${custom_binding}" command "${command}" - gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"${custom_binding}" binding "${key_combination}" - dconf write "${custom_binding}enabled" true - - ((index++)) - done - - new_bindings_string=$(printf "'%s', " "${new_bindings[@]}") - new_bindings_string="[${new_bindings_string%, }]" - - gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "${new_bindings_string}" -} - -print_keyboard_shortcuts_status() { - printfe "%s" "cyan" "Checking keyboard shortcuts..." - clear_line - - # Retrieve current custom keybindings - existing_bindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings | tr -d "[]'") - existing_count=$(echo $existing_bindings | tr -cd , | wc -c) - - # Iterate over parsed JSON shortcuts - for key_combination in $(echo "$shortcuts" | jq -r 'keys[]'); do - command=$(echo "$shortcuts" | jq -r ".[\"$key_combination\"]") - - if [[ ! $existing_bindings =~ "custom${index}" ]]; then - printfe "%s\n" "red" " - Custom shortcut ${key_combination} is missing" - fi - - ((index++)) - done - - json_count=$(echo $shortcuts | jq 'keys | length') - printfe "%s" "cyan" "Keyboard shortcuts" - if [ $index -eq $json_count ]; then - printfe "%s" "green" " $index/$json_count " - else - printfe "%s" "red" " $index/$json_count " - fi - printfe "%s\n" "cyan" "shortcuts installed" -} \ No newline at end of file diff --git a/bin/helpers/rust.sh b/bin/helpers/rust.sh deleted file mode 100755 index 61b5541..0000000 --- a/bin/helpers/rust.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -ensure_rust_installed() { - if [ -x "$(command -v rustc)" ]; then - printfe "%s\n" "green" " - Rust is already installed" - - # Update Rust - printfe "%s" "yellow" " - Updating Rust..." - echo -en "\r" - - rustup update - else - printfe "%s\n" "yellow" " - Installing Rust..." - echo -en "\r" - - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" "Failed to install Rust" - exit 1 - fi - rustup default stable - - printfe "%s\n" "green" " - Rust installed successfully" - fi -} diff --git a/bin/helpers/user_groups.sh b/bin/helpers/user_groups.sh deleted file mode 100755 index 957c687..0000000 --- a/bin/helpers/user_groups.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -ensure_user_groups() { - # Load yaml file - users=($(cat $DOTFILES_CONFIG | shyaml keys config.user_groups)) - - # For each user, ensure they are in the correct groups - for user in "${users[@]}"; do - # Ensure this user exists - if [[ ! $(id -u $user) ]]; then - printfe "%s\n" "red" " - User $user does not exist" - continue - fi - - ensure_user_in_groups $user - done -} - -ensure_user_in_groups() { - user=$1 - groups=($(cat $DOTFILES_CONFIG | shyaml get-values config.user_groups.$user)) - - printfe "%s\n" "cyan" " - For user $user..." - - # For each group, ensure the user is in it - for group in "${groups[@]}"; do - # Check if the group exists at all, otherwise skip - if [[ ! $(getent group $group) ]]; then - printfe "%s\n" "red" " Group $group does not exist" - continue - fi - - if [[ ! $groups == *$group* ]]; then - printfe "%s\n" "green" " Adding $user to group $group" - sudo usermod -aG $group $user - else - printfe "%s\n" "green" " $user is already in group $group" - fi - done -} diff --git a/bin/helpers/vscode-extensions.sh b/bin/helpers/vscode-extensions.sh deleted file mode 100755 index 6f492ca..0000000 --- a/bin/helpers/vscode-extensions.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env bash - -source $HOME/dotfiles/bin/helpers/functions.sh - -load_vscode_extensions() { - # Clear the array before populating it - arr=() - while IFS= read -r line; do - arr+=("$line") - done < <(jq -r '.[]' ~/dotfiles/vscode/extensions.json) - # Export the array - export extensionList=("${arr[@]}") -} - -ensure_vscode_extensions_installed() { - if is_wsl; then - printfe "%s\n" "yellow" "Running in WSL, skipping VSCode extensions." - return - fi - - # Load extensions list from jq in ~/dotfiles/vscode/extensions.json - load_vscode_extensions - - for extension in "${extensionList[@]}"; do - result=$(code --list-extensions | grep -E "^${extension}$") - if [ -z "$result" ]; then - printfe "%s" "yellow" " - Installing $extension..." - code --install-extension $extension - - if [ $? -ne 0 ]; then - printfe "%s\n" "red" " - Failed to install $extension" - exit 1 - fi - printfe "%s\n" "green" " - Installed $extension" - else - printfe "%s\n" "green" " - $extension is already installed" - fi - done -} - -print_vsc_status() { - printfe "%s" "cyan" "Checking VSCode extensions..." - clear_line - - load_vscode_extensions - count_installed_extensions=0 - - # Loop through each extension and check if it's installed - for extension in "${extensionList[@]}"; do - result=$(code --list-extensions | grep -E "^${extension}$") - if [ -z "$result" ]; then - if [ "$verbose" = true ]; then - printfe "%s" "yellow" "Extension $extension is not installed\n" - fi - else - count_installed_extensions=$((count_installed_extensions + 1)) - fi - done - - if [ "$verbose" = true ]; then - printfe "%s\n" "yellow" "Expected extensions:" - for ext in "${extensionList[@]}"; do - printfe "%s\n" "blue" "$ext" - done - - printfe "%s\n" "yellow" "Installed extensions:" - while IFS= read -r installed_ext; do - printfe "%s\n" "blue" "$installed_ext" - done < <(code --list-extensions) - fi - - count=${#extensionList[@]} - - printfe "%s" "cyan" "VSCode" - if [ $count_installed_extensions -eq $count ]; then - printfe "%s" "green" " $count_installed_extensions/$count " - else - printfe "%s" "red" " $count_installed_extensions/$count " - fi - printfe "%s\n" "cyan" "extensions installed" -} diff --git a/bin/helpers/welcome.py b/bin/helpers/welcome.py deleted file mode 100755 index da7fa18..0000000 --- a/bin/helpers/welcome.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python3 - -import requests -import os -import json -from datetime import datetime - -def get_weather(): - response = requests.get("https://wttr.in/beverwijk?n") - return response.text.strip() - -def get_moon_phase(): - response = requests.get("https://wttr.in/moon?format=F") - return response.text.strip() - -def read_prompt(file_path): - with open(file_path, 'r') as file: - return file.read() - -def get_hostname(): - with open("/etc/hostname", 'r') as file: - return file.read().strip() - -def replace_wildcards(prompt, weather, moon_phase, time, date, hostname): - prompt = prompt.replace("$TIME", time) - prompt = prompt.replace("$DATE", date) - prompt = prompt.replace("$HOSTNAME", hostname) - prompt = prompt.replace("$WEATHER", weather) - prompt = prompt.replace("$MOON_PHASE", moon_phase) - return prompt - -def main(): - home_directory = os.path.expanduser('~') - AI_ENDPOINT = "https://api.openai.com/v1/chat/completions" - OPENAI_API_KEY = "" - PROMPT_FILE_PATH = home_directory + "/dotfiles/bin/resources/welcome_prompt.txt" - - # Load api key from disk - with open(home_directory + "/dotfiles/secrets/openai_api_key.secret", 'r') as file: - OPENAI_API_KEY = file.read().strip() - - weather = get_weather() - moon_phase = get_moon_phase() - hostname = get_hostname() - time = datetime.now().strftime("%H:%M") - date = datetime.now().strftime("%A, %d %B %Y") - - openai_prompt = read_prompt(PROMPT_FILE_PATH) - prompt = replace_wildcards(openai_prompt, weather, moon_phase, time, date, hostname) - - data = { - "max_tokens": 200, - "messages": [ - {"role": "system", "content": prompt}, - ], - "model": "gpt-4o-mini", - } - - headers = { - "Content-Type": "application/json", - "Authorization": f"Bearer {OPENAI_API_KEY}" - } - - response = requests.post(AI_ENDPOINT, headers=headers, data=json.dumps(data)) - response_data = response.json() - - completion = response_data['choices'][0]['message']['content'] - - print(completion) - -if __name__ == "__main__": - main() diff --git a/config/config.yaml b/config/config.yaml index e95ec60..b790d42 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,6 +1,15 @@ config: # Symbolic links to create symlinks: + nix-home-manager: + source: ~/dotfiles/config/home-manager + target: ~/.config/home-manager + + # NixOS Configuration + nixos: + source: ~/dotfiles/config/nixos/configuration.nix + target: /etc/nixos/configuration.nix + # Gitconfig gitconfig: sources: @@ -8,6 +17,11 @@ config: linux: ~/dotfiles/config/gitconfig.linux wsl: ~/dotfiles/config/gitconfig.wsl target: ~/.gitconfig + + # VSCode settings + vscode: + source: ~/dotfiles/vscode/settings.json + target: ~/.config/Code/User/settings.json # SSH config ssh: @@ -41,67 +55,10 @@ config: source: ~/dotfiles/.bashrc target: ~/.bashrc - # VSCode settings - vscode: - source: ~/dotfiles/vscode/settings.json - target: ~/.config/Code/User/settings.json - - vscode-argv: - source: ~/dotfiles/vscode/argv.json - target: ~/.vscode/argv.json - # Starship config starship: source: ~/dotfiles/config/starship.toml target: ~/.config/starship.toml - - # Autostart desktop file - autostart: - source: ~/dotfiles/config/dotf-autostart.desktop - target: ~/.config/autostart/dotf-autostart.desktop - - # What groups users should be added - user_groups: - menno: - - docker - - libvirt - - video - - input - - # Keybinds to set into swhkd - keybinds: - terminal: - shortcut: Ctrl + Alt + T - command: gnome-terminal - screenshot: - shortcut: Shift + Alt + 4 - command: flameshot gui - 1password-quick-access: - shortcut: Shift + Alt + Space - command: 1password --quick-access - missioncenter: - shortcut: Ctrl + Shift + Escape - command: flatpak run io.missioncenter.MissionCenter - resources: - shortcut: Alt + Shift + Escape - command: flatpak run net.nokyan.Resources - gtile: - shortcut: Super + Tab - command: xdotool key super+g - - # Commands to run after login - startup: - delay: 5 - delay_between_ms: 1000 - commands: - 1password: 1password - hotkey-deamon: $HOME/dotfiles/bin/actions/hotkey-daemon.sh - trayscale: flatpak run dev.deedles.Trayscale --hide-window - vesktop: flatpak run dev.vencord.Vesktop - telegram: flatpak run org.telegram.desktop - spotify: flatpak run com.spotify.Client - zapzap: flatpak run com.rtosta.zapzap - steam: steam # Fonts to install (Mostly tested with Nerd Fonts) fonts: @@ -121,15 +78,15 @@ config: branch: master target: ~/dotfiles - songguru-bot: - url: git@github.com:vleeuwenmenno/songguru-bot.git - branch: develop - target: ~/Projects/Private/songguru-bot - ssdc_app_v2: url: git@github.com:vleeuwenmenno/ssdc_app_v2.git branch: master target: ~/Projects/Private/ssdc_app_v2 + + infra: + url: git@github.com:tradaware/infra.git + branch: main + target: ~/Projects/Work # Packages to install @@ -138,106 +95,92 @@ config: packages: # Supply a git_url and binary to install from source cargo: - eza: - lsd: - bat: - starship: - ripgrep: + rip2: fd-find: - procs: - bottom: - Simple-Wayland-HotKey-Daemon: - git_url: https://github.com/waycrate/swhkd.git - binary: Simple-Wayland-HotKey-Daemon - swhks: - git_url: https://github.com/waycrate/swhkd.git - binary: swhks pipx: - gnome-extensions-cli - bauh - shyaml - apt: - repos: - apps: - - bash - - bash-completion - - cargo - - solaar - - git - - curl - - wget - - gpg - - nala - - ca-certificates - - gnupg-agent - - software-properties-common - - apt-transport-https - - vim - - sl - - jq - - libglvnd-dev - - libwayland-dev - - libseat-dev - - libxkbcommon-dev - - libinput-dev - - udev - - dbus - - liblzma-dev - - libreadline-dev - - libdbus-1-dev - - libsystemd-dev - - libpixman-1-dev - - libssl-dev - - libflatpak-dev - - libpulse-dev - - libexpat1-dev - - libfontconfig-dev - - libfreetype-dev - - mold - - clang - - libgtk-3-dev - - gcc - - gcc-mingw-w64 - - btop - - htop - - libgbm-dev - - libclang-dev - - libsecret-1-dev - - libpipewire-0.3-dev - - libpam0g-dev - - openssh-server - - build-essential - - flatpak - - meson - - pipx - - python3-nautilus - - gettext - - fzf - - neofetch - - screenfetch - - screen - - brave-browser - - code - - 1password - - 1password-cli - - flameshot - - cmake - - libsqlite3-dev - - libudev-dev - - libncursesw5-dev - - libgdbm-dev - - libc6-dev - - libbz2-dev - - libffi-dev - - tk-dev - - cmatrix - - toilet - - oneko - - libaa-bin - - libcurses-perl - - xdotool - - xclip - - unzip - - zip +# No longer supported: + # apt: + # repos: + # apps: + # - bash + # - bash-completion + # - solaar + # - git + # - curl + # - wget + # - gpg + # - nala + # - ca-certificates + # - gnupg-agent + # - software-properties-common + # - apt-transport-https + # - vim + # - sl + # - jq + # - gh + # - libglvnd-dev + # - libwayland-dev + # - libseat-dev + # - libxkbcommon-dev + # - libinput-dev + # - udev + # - dbus + # - liblzma-dev + # - libreadline-dev + # - libdbus-1-dev + # - libsystemd-dev + # - libpixman-1-dev + # - libssl-dev + # - libflatpak-dev + # - libpulse-dev + # - libexpat1-dev + # - libfontconfig-dev + # - libfreetype-dev + # - mold + # - clang + # - libgtk-3-dev + # - gcc + # - gcc-mingw-w64 + # - btop + # - htop + # - libgbm-dev + # - libclang-dev + # - libsecret-1-dev + # - libpipewire-0.3-dev + # - libpam0g-dev + # - openssh-server + # - build-essential + # - flatpak + # - meson + # - pipx + # - python3-nautilus + # - gettext + # - fzf + # - fastfetch + # - screenfetch + # - screen + # - code + # - 1password + # - 1password-cli + # - flameshot + # - cmake + # - libsqlite3-dev + # - libudev-dev + # - libncursesw5-dev + # - libgdbm-dev + # - libc6-dev + # - libbz2-dev + # - libffi-dev + # - tk-dev + # - cmatrix + # - toilet + # - oneko + # - libaa-bin + # - libcurses-perl + # - xdotool + # - xclip diff --git a/config/dotf-autostart.desktop b/config/dotf-autostart.desktop deleted file mode 100755 index f105073..0000000 --- a/config/dotf-autostart.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Startup Script -Exec=/home/menno/dotfiles/bin/actions/startup-runner.sh -X-GNOME-Autostart-enabled=true -NoDisplay=false -Comment=Run startup script when logging into Cinnamon diff --git a/config/flatpaks/com.github.PintaProject.Pinta.flatpakref b/config/flatpaks/com.github.PintaProject.Pinta.flatpakref deleted file mode 100644 index 7c8d589..0000000 --- a/config/flatpaks/com.github.PintaProject.Pinta.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=com.github.PintaProject.Pinta -Branch=stable -Title=com.github.PintaProject.Pinta 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 - diff --git a/config/flatpaks/com.spotify.Client.flatpakref b/config/flatpaks/com.spotify.Client.flatpakref deleted file mode 100644 index 86402ec..0000000 --- a/config/flatpaks/com.spotify.Client.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=com.spotify.Client -Branch=stable -Title=com.spotify.Client 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 - diff --git a/config/flatpaks/in.cinny.Cinny.flatpakref b/config/flatpaks/in.cinny.Cinny.flatpakref deleted file mode 100644 index 3dc2135..0000000 --- a/config/flatpaks/in.cinny.Cinny.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=in.cinny.Cinny -Branch=stable -Title=in.cinny.Cinny 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 - diff --git a/config/flatpaks/io.missioncenter.MissionCenter.flatpakref b/config/flatpaks/io.missioncenter.MissionCenter.flatpakref deleted file mode 100644 index 0333f26..0000000 --- a/config/flatpaks/io.missioncenter.MissionCenter.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=io.missioncenter.MissionCenter -Branch=stable -Title=io.missioncenter.MissionCenter 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 - diff --git a/config/flatpaks/org.gnome.Boxes.flatpakref b/config/flatpaks/org.gnome.Boxes.flatpakref deleted file mode 100644 index 4b45e69..0000000 --- a/config/flatpaks/org.gnome.Boxes.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=org.gnome.Boxes -Branch=stable -Title=org.gnome.Boxes 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 - diff --git a/config/flatpaks/org.stellarium.Stellarium.flatpakref b/config/flatpaks/org.stellarium.Stellarium.flatpakref deleted file mode 100644 index c38fd68..0000000 --- a/config/flatpaks/org.stellarium.Stellarium.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=org.stellarium.Stellarium -Branch=stable -Title=org.stellarium.Stellarium 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 - diff --git a/config/flatpaks/org.telegram.desktop.flatpakref b/config/flatpaks/org.telegram.desktop.flatpakref deleted file mode 100644 index 71d3480..0000000 --- a/config/flatpaks/org.telegram.desktop.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=org.telegram.desktop -Branch=stable -Title=org.telegram.desktop 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 - diff --git a/config/flatpaks/tv.plex.PlexDesktop.flatpakref b/config/flatpaks/tv.plex.PlexDesktop.flatpakref deleted file mode 100644 index d7fab83..0000000 --- a/config/flatpaks/tv.plex.PlexDesktop.flatpakref +++ /dev/null @@ -1,10 +0,0 @@ -[Flatpak Ref] -Name=tv.plex.PlexDesktop -Branch=stable -Title=tv.plex.PlexDesktop 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 - diff --git a/config/home-manager/auto-start.nix b/config/home-manager/auto-start.nix new file mode 100644 index 0000000..a966b9a --- /dev/null +++ b/config/home-manager/auto-start.nix @@ -0,0 +1,79 @@ +{ config, pkgs, ... }: +{ + systemd.user.services = { + onepassword-autostart = { + Unit = { + Description = "Start 1Password on login"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + ExecStart = "${pkgs._1password-gui}/bin/1password"; + Restart = "no"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + + trayscale-autostart = { + Unit = { + Description = "Start Trayscale on login"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + ExecStart = "${pkgs.trayscale}/bin/trayscale"; + Restart = "no"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + + vesktop-autostart = { + Unit = { + Description = "Start Vesktop on login"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + ExecStart = "${pkgs.vesktop}/bin/vesktop"; + Restart = "no"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + + telegram-autostart = { + Unit = { + Description = "Start Telegram Desktop on login"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + ExecStart = "${pkgs.telegram-desktop}/bin/telegram-desktop"; + Restart = "no"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + + spotify-autostart = { + Unit = { + Description = "Start Spotify on login"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + ExecStart = "${pkgs.spotify}/bin/spotify"; + Restart = "no"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + }; +} diff --git a/config/home-manager/dconf.nix b/config/home-manager/dconf.nix new file mode 100644 index 0000000..817881e --- /dev/null +++ b/config/home-manager/dconf.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + dconf = { + enable = true; + settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; + }; +} \ No newline at end of file diff --git a/config/home-manager/flake.nix b/config/home-manager/flake.nix new file mode 100644 index 0000000..e000c36 --- /dev/null +++ b/config/home-manager/flake.nix @@ -0,0 +1,28 @@ +{ + description = "Home Manager configuration"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + firefox-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { nixpkgs, home-manager, firefox-addons, ... }@inputs: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { + homeConfigurations."yourusername" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + modules = [ ./home.nix ]; + extraSpecialArgs = { inherit inputs; }; + }; + }; +} \ No newline at end of file diff --git a/config/home-manager/fonts.nix b/config/home-manager/fonts.nix new file mode 100644 index 0000000..5d9c847 --- /dev/null +++ b/config/home-manager/fonts.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + fonts.fontconfig.enable = true; + home.packages = [ + (pkgs.nerdfonts.override { fonts = [ "Hack" "FiraCode" "Meslo" "FiraCode" "DroidSansMono" ]; }) + ]; +} \ No newline at end of file diff --git a/config/home-manager/home.nix b/config/home-manager/home.nix new file mode 100644 index 0000000..5e6c1a3 --- /dev/null +++ b/config/home-manager/home.nix @@ -0,0 +1,30 @@ +{ config, pkgs, ... }: { + imports = [ + ./vscode.nix + ./fonts.nix + ./kitty.nix + ./dconf.nix + ./keyboard-shortcuts.nix + ./virtualization.nix + ./packages.nix + ./auto-start.nix + ]; + + nixpkgs = { + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + }; + + home.username = "menno"; + home.homeDirectory = "/home/menno"; + home.stateVersion = "24.05"; + home.file = { }; + + home.sessionVariables = { + GOROOT = "${pkgs.go}/share/go"; + GOPATH = "${config.home.homeDirectory}/go"; + PATH = "${config.home.homeDirectory}/go/bin:$PATH"; + }; +} diff --git a/config/home-manager/keyboard-shortcuts.nix b/config/home-manager/keyboard-shortcuts.nix new file mode 100644 index 0000000..42887d9 --- /dev/null +++ b/config/home-manager/keyboard-shortcuts.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: +{ + dconf.settings = { + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/1password-quick-access/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/screenshot/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/missioncenter/" + ]; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = { + binding = "t"; + command = "kitty"; + name = "open-terminal"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/1password-quick-access" = { + binding = "space"; + command = "1password --quick-access"; + name = "1password-quick-access"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/screenshot" = { + binding = "4"; + command = "flameshot gui"; + name = "screenshot"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/missioncenter" = { + binding = "Escape"; + command = "missioncenter"; + name = "missioncenter"; + }; + }; +} diff --git a/config/home-manager/kitty.nix b/config/home-manager/kitty.nix new file mode 100644 index 0000000..8bc956d --- /dev/null +++ b/config/home-manager/kitty.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + programs.kitty = { + enable = true; + font = { + name = "Hack Nerd Font"; + size = 14; + }; + + settings = { + dynamic_background_opacity = true; + background_opacity = "0.85"; + background_blur = 32; + }; + + + shellIntegration.enableFishIntegration = true; + theme = "Catppuccin-Macchiato"; + #Also available: Catppuccin-Frappe Catppuccin-Latte Catppuccin-Macchiato Catppuccin-Mocha + # See all available kitty themes at: https://github.com/kovidgoyal/kitty-themes/blob/46d9dfe230f315a6a0c62f4687f6b3da20fd05e4/themes.json + }; +} \ No newline at end of file diff --git a/config/home-manager/packages.nix b/config/home-manager/packages.nix new file mode 100644 index 0000000..07796ad --- /dev/null +++ b/config/home-manager/packages.nix @@ -0,0 +1,116 @@ +{ pkgs, ... }: { + imports = [ + ./packages/firefox.nix + ]; + + home.packages = with pkgs; [ + # General packages + git + gnupg + gh + nixfmt-rfc-style + wget + + # Package management + flatpak + pipx + + # Development SDKs/Toolkits + gcc + pkg-config + gnumake + stdenv.cc + go + rustc + cargo + cargo-edit + cargo-watch + cargo-audit + cargo-expand + cargo-tarpaulin + pyenv + act # GitHub Actions CLI + + # File and directory operations + eza # Modern ls + bat # Modern cat + zoxide # Smarter cd command + broot # Interactive directory navigator + du-dust # Modern du + duf # Modern df + zip + unzip + + # Search and text processing + ripgrep # Modern grep + sd # Modern sed + choose # Modern cut + jq # JSON processor + yq # YAML processor + xsv # CSV processor + + # System monitoring and process management + procs # Modern ps + bottom # Modern top/htop + hyperfine # Benchmarking tool + bandwhich # Network utilization tool + doggo # Modern dig + gping # Ping with graph + + # Development utilities + delta # Better git diff + difftastic # Structural diff tool + mcfly # Better shell history + fzf # Fuzzy finder + tokei # Code statistics + tealdeer # Modern tldr client + lazygit # Terminal UI for git + + # Shell and terminal + starship # Cross-shell prompt + zellij # Modern terminal multiplexer + nushell # Modern shell + + # File viewers and processors + hexyl # Modern hexdump + chafa # Terminal image viewer + glow # Markdown renderer + + # Editors + neovim + nano + micro + + # Lolz + fortune + cowsay + cmatrix + figlet + + # GUI Applications + ## Utilities + mission-center + flameshot + gnome.gnome-tweaks + pinta + bottles + trayscale + + ## Chat Apps + telegram-desktop + betterdiscordctl + vesktop + whatsapp-for-linux + signal-desktop + + ## Multimedia + spotify + plex-media-player + + ## Astronomy + stellarium + + ## Games + openra + ]; +} diff --git a/config/home-manager/packages/firefox.nix b/config/home-manager/packages/firefox.nix new file mode 100644 index 0000000..d44308f --- /dev/null +++ b/config/home-manager/packages/firefox.nix @@ -0,0 +1,132 @@ +{ config, pkgs, inputs, ... }: +{ + programs.firefox = { + enable = true; + + profiles.default = { + id = 0; + name = "default"; + isDefault = true; + + settings = { + "browser.startup.homepage" = "about:home"; + + # Disable irritating first-run stuff + "browser.disableResetPrompt" = true; + "browser.download.panel.shown" = true; + "browser.feeds.showFirstRunUI" = false; + "browser.messaging-system.whatsNewPanel.enabled" = false; + "browser.rights.3.shown" = true; + "browser.shell.checkDefaultBrowser" = false; + "browser.shell.defaultBrowserCheckCount" = 1; + "browser.startup.homepage_override.mstone" = "ignore"; + "browser.uitour.enabled" = false; + "startup.homepage_override_url" = ""; + "trailhead.firstrun.didSeeAboutWelcome" = true; + "browser.bookmarks.restore_default_bookmarks" = false; + "browser.bookmarks.addedImportButton" = true; + + # Don't ask for download dir + "browser.download.useDownloadDir" = false; + + # Disable crappy home activity stream page + "browser.newtabpage.activity-stream.feeds.topsites" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; + + # Disable some telemetry + "app.shield.optoutstudies.enabled" = false; + "browser.discovery.enabled" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.ping-centre.telemetry" = false; + "datareporting.healthreport.service.enabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.sessions.current.clean" = true; + "devtools.onboarding.telemetry.logged" = false; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.hybridContent.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.prompted" = 2; + "toolkit.telemetry.rejected" = true; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + "toolkit.telemetry.server" = ""; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.unifiedIsOptIn" = false; + "toolkit.telemetry.updatePing.enabled" = false; + + "sidebar.revamp" = true; + "sidebar.verticalTabs" = true; + + # Disable "save password" prompt + "signon.rememberSignons" = false; + # Harden + "privacy.trackingprotection.enabled" = true; + "dom.security.https_only_mode" = true; + # Layout + "browser.uiCustomization.state" = builtins.toJSON { + currentVersion = 20; + newElementCount = 5; + dirtyAreaCache = ["nav-bar" "PersonalToolbar" "toolbar-menubar" "TabsToolbar" "widget-overflow-fixed-list"]; + placements = { + PersonalToolbar = ["personal-bookmarks"]; + TabsToolbar = ["tabbrowser-tabs" "alltabs-button"]; + nav-bar = ["back-button" "forward-button" "stop-reload-button" "urlbar-container" "downloads-button" "ublock0_raymondhill_net-browser-action" "_testpilot-containers-browser-action" "reset-pbm-toolbar-button" "unified-extensions-button"]; + toolbar-menubar = ["menubar-items"]; + unified-extensions-area = []; + widget-overflow-fixed-list = []; + }; + seen = ["save-to-pocket-button" "developer-button" "ublock0_raymondhill_net-browser-action" "_testpilot-containers-browser-action"]; + }; + }; + + extensions = with pkgs.inputs.firefox-addons; [ + ublock-origin + browserpass + ]; + + search = { + force = true; + default = "DuckDuckGo"; + privateDefault = "DuckDuckGo"; + + engines = { + "DuckDuckGo".metaData.hidden = false; + "Google".metaData.hidden = true; + "Amazon.com".metaData.hidden = true; + "Bing".metaData.hidden = true; + "eBay".metaData.hidden = true; + "Qwant".metaData.hidden = true; + + # Add custom golink search engine + "golink" = { + urls = [ { template = "http://go/%s"; } ]; + iconUpdateURL = ""; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "go" ]; + }; + }; + + # Order of search engines in the search bar + order = [ + "DuckDuckGo" + "golink" + ]; + }; + + # Optional: Additional Firefox preferences you might want + settings = { + "browser.startup.page" = 3; # Restore previous session + "browser.download.dir" = "${config.home.homeDirectory}/Downloads"; + "browser.download.folderList" = 2; + "browser.toolbars.bookmarks.visibility" = "never"; + "privacy.donottrackheader.enabled" = true; + }; + }; + }; +} diff --git a/config/home-manager/virtualization.nix b/config/home-manager/virtualization.nix new file mode 100644 index 0000000..0be8c9e --- /dev/null +++ b/config/home-manager/virtualization.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + virt-manager + virt-viewer + qemu + OVMF + ]; +} \ No newline at end of file diff --git a/config/home-manager/vscode.nix b/config/home-manager/vscode.nix new file mode 100644 index 0000000..10509b4 --- /dev/null +++ b/config/home-manager/vscode.nix @@ -0,0 +1,53 @@ +{ pkgs, ... }: +{ + programs = { + home-manager.enable = true; + + vscode = { + enable = true; + mutableExtensionsDir = true; + extensions = with pkgs.vscode-extensions; [ + ms-azuretools.vscode-docker + ms-vscode-remote.remote-containers + ms-vscode-remote.remote-ssh + ms-vscode-remote.remote-ssh-edit + ms-vscode.makefile-tools + ms-vsliveshare.vsliveshare + bbenoist.nix + aaron-bond.better-comments + alexisvt.flutter-snippets + bmewburn.vscode-intelephense-client + christian-kohler.path-intellisense + dart-code.dart-code + dart-code.flutter + esbenp.prettier-vscode + foxundermoon.shell-format + github.vscode-github-actions + github.vscode-pull-request-github + usernamehw.errorlens + vincaslt.highlight-matching-tag + vscode-icons-team.vscode-icons + golang.go + davidanson.vscode-markdownlint + bbenoist.nix + brettm12345.nixfmt-vscode + yzhang.markdown-all-in-one + xdebug.php-debug + github.copilot + github.copilot-chat + ]; + # ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + # { + # name = "warpnet.salt-lint"; + # publisher = "warpnet"; + # version = "latest"; + # } + # { + # name = "mguellsegarra.highlight-on-copy"; + # publisher = "mguellsegarra"; + # version = "latest"; + # } + # ]; + }; + }; +} \ No newline at end of file diff --git a/config/nixos/configuration.nix b/config/nixos/configuration.nix new file mode 100644 index 0000000..67a93eb --- /dev/null +++ b/config/nixos/configuration.nix @@ -0,0 +1,118 @@ +{ config, pkgs, ... }: +{ + imports = [ + # Include the results of the hardware scan. + /etc/nixos/hardware-configuration.nix + ./nvidia.nix + ./virtualization.nix + ./users.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "mennos-laptop"; + # networking.wireless.enable = true; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/Amsterdam"; + + # Enable experimental nix-command flakes + nix = { + package = pkgs.nixFlakes; + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + environment.systemPackages = [ pkgs.tailscale ]; + services.tailscale.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = "euro"; + }; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # 1Password + programs._1password.enable = true; + programs._1password-gui = { + enable = true; + polkitPolicyOwners = [ "menno" ]; + }; + + environment.etc = { + "1password/custom_allowed_browsers" = { + text = '' + firefox + ''; + mode = "0755"; + }; + }; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. Itβ€˜s perfectly fine and recommended to leave + # 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? +} diff --git a/config/nixos/nvidia.nix b/config/nixos/nvidia.nix new file mode 100644 index 0000000..fce30dd --- /dev/null +++ b/config/nixos/nvidia.nix @@ -0,0 +1,40 @@ +{ config, pkgs, ... }: +{ + # Enable OpenGL + hardware.opengl = { enable = true; }; + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = [ "nvidia" ]; + + 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. + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; +} \ No newline at end of file diff --git a/config/nixos/users.nix b/config/nixos/users.nix new file mode 100644 index 0000000..958107b --- /dev/null +++ b/config/nixos/users.nix @@ -0,0 +1,14 @@ +{ config, pkgs, ... }: { + users.users.menno = { + isNormalUser = true; + description = "Menno van Leeuwen"; + extraGroups = [ + "networkmanager" + "wheel" + "kvm" + "libvirtd" + "qemu-libvirtd" + ]; + packages = with pkgs; [ ]; + }; +} diff --git a/config/nixos/virtualization.nix b/config/nixos/virtualization.nix new file mode 100644 index 0000000..7ffa18b --- /dev/null +++ b/config/nixos/virtualization.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: { + boot.kernelModules = [ "kvm-amd" ]; + + virtualisation = { + libvirtd = { + enable = true; + + qemu = { + package = pkgs.qemu; + runAsRoot = true; + swtpm.enable = true; + ovmf = { + enable = true; + packages = [ pkgs.OVMF.fd ]; + }; + }; + }; + }; +} diff --git a/config/ssh/config b/config/ssh/config index 84f9de1..18ded0c 100644 --- a/config/ssh/config +++ b/config/ssh/config @@ -1,4 +1,4 @@ Host * - IdentityAgent ~/.ssh/agent.sock + IdentityAgent ~/.1password/agent.sock Include ~/.ssh/config.d/*.conf diff --git a/hexyl b/hexyl new file mode 100644 index 0000000..3956a46 --- /dev/null +++ b/hexyl @@ -0,0 +1,28 @@ +#!/bin/bash + +# Check if nixos-version is available +if [ -x "$(command -v nixos-version)" ]; then + echo "Detected NixOS, skipping Nix setup." + return +else + echo "NixOS not detected, installing Nix..." + sh <(curl -L https://nixos.org/nix/install) --daemon +fi + +# Check if sed is available +if [ ! -x "$(command -v sed)" ]; then + echo "sed is not available, please manually source the following lines in your .bashrc:" + echo "export PATH=$PATH:$HOME/.local/bin" + echo "export PATH=$PATH:~/dotfiles/bin" + return +fi + +sed -i -e '$a\'$'\n''export PATH=$PATH:$HOME/.local/bin' ~/.bashrc +sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc + +echo "#########################################################" +echo "# #" +echo "# !!! RESTART YOUR TERMINAL BEFORE YOU CONTINUE !!! #" +echo "# !!! Continue with 'dotf update' !!! #" +echo "# #" +echo "#########################################################" diff --git a/setup.sh b/setup.sh index 9eadd1f..3956a46 100755 --- a/setup.sh +++ b/setup.sh @@ -1,21 +1,20 @@ #!/bin/bash -# Prepare, we need at least these minimal packages to continue ... -sudo apt update -sudo apt install curl nala pipx apt-transport-https ca-certificates gnupg -y - -# Ensure shyaml is available -echo "Ensuring shyaml is installed..." -if [ ! -x "$(command -v shyaml)" ]; then - echo " - shyaml is not installed, installing it..." - pipx install shyaml +# Check if nixos-version is available +if [ -x "$(command -v nixos-version)" ]; then + echo "Detected NixOS, skipping Nix setup." + return +else + echo "NixOS not detected, installing Nix..." + sh <(curl -L https://nixos.org/nix/install) --daemon fi -echo "Ensuring pyenv is installed..." -if [ ! -d "$HOME/.pyenv" ]; then - curl https://pyenv.run | bash -else - echo " - pyenv is already installed" +# Check if sed is available +if [ ! -x "$(command -v sed)" ]; then + echo "sed is not available, please manually source the following lines in your .bashrc:" + echo "export PATH=$PATH:$HOME/.local/bin" + echo "export PATH=$PATH:~/dotfiles/bin" + return fi sed -i -e '$a\'$'\n''export PATH=$PATH:$HOME/.local/bin' ~/.bashrc diff --git a/vscode/argv.json b/vscode/argv.json index eea6f2d..1013ec4 100644 --- a/vscode/argv.json +++ b/vscode/argv.json @@ -1,3 +1,3 @@ { - "enable-crash-reporter": false, + "enable-crash-reporter": true, } diff --git a/vscode/extensions.json b/vscode/extensions.json deleted file mode 100644 index c9e3e6a..0000000 --- a/vscode/extensions.json +++ /dev/null @@ -1 +0,0 @@ -["aaron-bond.better-comments","alexisvt.flutter-snippets","bmewburn.vscode-intelephense-client","christian-kohler.path-intellisense","dart-code.dart-code","dart-code.flutter","davidanson.vscode-markdownlint","esbenp.prettier-vscode","foxundermoon.shell-format","github.copilot","github.copilot-chat","github.vscode-github-actions","github.vscode-pull-request-github","mguellsegarra.highlight-on-copy","ms-azuretools.vscode-docker","ms-vscode-remote.remote-containers","ms-vscode-remote.remote-ssh","ms-vscode-remote.remote-ssh-edit","ms-vscode.makefile-tools","ms-vscode.remote-explorer","ms-vsliveshare.vsliveshare","nicolasvuillamy.vscode-groovy-lint","usernamehw.errorlens","vincaslt.highlight-matching-tag","vscode-icons-team.vscode-icons","warpnet.salt-lint","xdebug.php-debug","xdebug.php-pack","yinfei.luahelper","zobo.php-intellisense"] diff --git a/vscode/settings.json b/vscode/settings.json index 27d9e8a..348c614 100755 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -1,6 +1,6 @@ { "security.workspace.trust.untrustedFiles": "open", - "window.zoomLevel": 0.5, + "window.zoomLevel": 1.2, "editor.fontFamily": "Hack Nerd Font", "terminal.integrated.fontFamily": "Hack Nerd Font", "github.copilot.enable": { @@ -30,4 +30,8 @@ "editor.tabCompletion": "onlySnippets", "editor.wordBasedSuggestions": "off" }, + "editor.tabSize": 2, + "editor.insertSpaces": true, + "editor.detectIndentation": true, + "editor.autoIndent": "full", } \ No newline at end of file