diff --git a/.bashrc b/.bashrc index 369b442..5a56702 100644 --- a/.bashrc +++ b/.bashrc @@ -88,6 +88,7 @@ export DOTFILES_PATH=$HOME/.dotfiles export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/.cargo/bin export PATH=$PATH:$DOTFILES_PATH/bin +export PATH=$PATH:$HOME/.spicetify # Include pnpm if it exists if [ -d "$HOME/.local/share/pnpm" ]; then diff --git a/config/ansible/inventory.ini b/config/ansible/inventory.ini index 617e451..f9748ad 100644 --- a/config/ansible/inventory.ini +++ b/config/ansible/inventory.ini @@ -1,9 +1,10 @@ [workstations] mennos-laptop-w ansible_connection=local mennos-desktop ansible_connection=local +mennos-cachyos-desktop ansible_connection=local [servers] mennos-server ansible_connection=local mennos-cloud-server ansible_connection=local mennos-vm ansible_connection=local -dotfiles-test ansible_connection=local +mennos-cachyos-desktop ansible_connection=local diff --git a/config/ansible/playbook.yml b/config/ansible/playbook.yml index 48516b4..1e914c6 100644 --- a/config/ansible/playbook.yml +++ b/config/ansible/playbook.yml @@ -12,8 +12,8 @@ - name: Include workstation tasks ansible.builtin.import_tasks: tasks/workstations/workstation.yml - when: inventory_hostname in ['mennos-laptop-w', 'mennos-desktop'] + when: inventory_hostname in ['mennos-laptop-w', 'mennos-desktop', 'mennos-cachyos-desktop'] - name: Include server tasks ansible.builtin.import_tasks: tasks/servers/server.yml - when: inventory_hostname in ['mennos-server', 'mennos-cloud-server', 'mennos-hobbypc', 'mennos-vm', 'dotfiles-test'] + when: inventory_hostname in ['mennos-server', 'mennos-cloud-server', 'mennos-hobbypc', 'mennos-vm', 'mennos-cachyos-desktop'] diff --git a/config/ansible/tasks/global/docker.yml b/config/ansible/tasks/global/docker.yml index 9e9c29c..c1071d9 100644 --- a/config/ansible/tasks/global/docker.yml +++ b/config/ansible/tasks/global/docker.yml @@ -5,19 +5,31 @@ changed_when: false failed_when: false +# Arch-based distributions (CachyOS, Arch Linux, etc.) +- name: Install Docker on Arch-based systems + community.general.pacman: + name: + - docker + - docker-compose + - docker-buildx + state: present + become: true + when: docker_check.rc != 0 and ansible_pkg_mgr == 'pacman' + +# Non-Arch distributions - name: Download Docker installation script ansible.builtin.get_url: url: https://get.docker.com dest: /tmp/get-docker.sh mode: "0755" - when: docker_check.rc != 0 + when: docker_check.rc != 0 and ansible_pkg_mgr != 'pacman' -- name: Install Docker CE +- name: Install Docker CE on non-Arch systems ansible.builtin.shell: bash -c 'set -o pipefail && sh /tmp/get-docker.sh' args: executable: /bin/bash creates: /usr/bin/docker - when: docker_check.rc != 0 + when: docker_check.rc != 0 and ansible_pkg_mgr != 'pacman' - name: Add user to docker group ansible.builtin.user: @@ -27,25 +39,15 @@ become: true when: docker_check.rc != 0 -- name: Check if docker is running - ansible.builtin.systemd: - name: docker - state: started - enabled: true - become: true - register: docker_service - -- name: Reload systemd - ansible.builtin.systemd: - daemon_reload: true - become: true - when: docker_service.changed - - name: Enable and start docker service ansible.builtin.systemd: name: docker state: started enabled: true become: true - when: docker_service.changed + +- name: Reload systemd + ansible.builtin.systemd: + daemon_reload: true + become: true notify: Reload systemd diff --git a/config/ansible/tasks/global/global.yml b/config/ansible/tasks/global/global.yml index 66acc7d..61f8043 100644 --- a/config/ansible/tasks/global/global.yml +++ b/config/ansible/tasks/global/global.yml @@ -7,6 +7,15 @@ manager: auto become: true +- name: Debug ansible_facts for troubleshooting + ansible.builtin.debug: + msg: | + OS Family: {{ ansible_facts['os_family'] }} + Distribution: {{ ansible_facts['distribution'] }} + Package Manager: {{ ansible_pkg_mgr }} + Kernel: {{ ansible_kernel }} + tags: debug + - name: Include Tailscale tasks ansible.builtin.import_tasks: tasks/global/tailscale.yml become: true @@ -27,7 +36,24 @@ become: true when: "'microsoft-standard-WSL2' not in ansible_kernel" -- name: Ensure common packages are installed +- name: Ensure common packages are installed on Arch-based systems + ansible.builtin.package: + name: + - git + - vim + - curl + - wget + - httpie + - python + - python-pip + - python-pipx + - python-pylint + - go + state: present + become: true + when: ansible_pkg_mgr == 'pacman' + +- name: Ensure common packages are installed on non-Arch systems ansible.builtin.package: name: - git @@ -35,19 +61,27 @@ - curl - wget - httpie - # Python is used for the dotfiles CLI tools - python3 - python3-pip - python3-venv - pylint - black - pipx - # Package manager wrapper - nala - # Go - golang state: present become: true + when: ansible_pkg_mgr != 'pacman' + +- name: Configure performance optimizations + ansible.builtin.sysctl: + name: "{{ item.name }}" + value: "{{ item.value }}" + state: present + reload: true + become: true + loop: + - { name: "vm.max_map_count", value: "16777216" } # --- PBinCLI via pipx --- - name: Ensure pbincli is installed with pipx diff --git a/config/ansible/tasks/global/openssh-server.yml b/config/ansible/tasks/global/openssh-server.yml index c4715bc..a33ba9d 100644 --- a/config/ansible/tasks/global/openssh-server.yml +++ b/config/ansible/tasks/global/openssh-server.yml @@ -1,14 +1,29 @@ --- -- name: Ensure openssh-server is installed +- name: Ensure openssh-server is installed on Arch-based systems + ansible.builtin.package: + name: openssh + state: present + when: ansible_pkg_mgr == 'pacman' + +- name: Ensure openssh-server is installed on non-Arch systems ansible.builtin.package: name: openssh-server state: present + when: ansible_pkg_mgr != 'pacman' -- name: Ensure SSH service is enabled and running +- name: Ensure SSH service is enabled and running on Arch-based systems + ansible.builtin.service: + name: sshd + state: started + enabled: true + when: ansible_pkg_mgr == 'pacman' + +- name: Ensure SSH service is enabled and running on non-Arch systems ansible.builtin.service: name: ssh state: started enabled: true + when: ansible_pkg_mgr != 'pacman' - name: Ensure SSH server configuration is proper ansible.builtin.template: diff --git a/config/ansible/tasks/global/symlinks.yml b/config/ansible/tasks/global/symlinks.yml index e95c9ab..92b83eb 100644 --- a/config/ansible/tasks/global/symlinks.yml +++ b/config/ansible/tasks/global/symlinks.yml @@ -28,10 +28,10 @@ vars: gitconfig_mapping: mennos-desktop: "$DOTFILES_PATH/config/git/gitconfig.wsl" + mennos-cachyos-desktop: "$DOTFILES_PATH/config/git/gitconfig.linux" mennos-laptop-w: "$DOTFILES_PATH/config/git/gitconfig.wsl" mennos-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server" mennos-cloud-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server" mennos-vm: "$DOTFILES_PATH/config/git/gitconfig.mennos-server" - dotfiles-test: "$DOTFILES_PATH/config/git/gitconfig.mennos-server" tags: - symlinks diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index de10f18..ab3e8f0 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -1,12 +1,17 @@ --- - name: Server setup block: - - name: Ensure server common packages are installed + - name: Ensure openssh-server is installed on Arch-based systems ansible.builtin.package: - name: - - openssh-server + name: openssh state: present - become: true + when: ansible_pkg_mgr == 'pacman' + + - name: Ensure openssh-server is installed on non-Arch systems + ansible.builtin.package: + name: openssh-server + state: present + when: ansible_pkg_mgr != 'pacman' - name: Include JuiceFS tasks ansible.builtin.include_tasks: juicefs.yml @@ -27,7 +32,7 @@ enabled: true hosts: - mennos-cloud-server - - mennos-server + - mennos-cachyos-desktop - name: karakeep enabled: true hosts: @@ -48,7 +53,7 @@ enabled: true hosts: - mennos-cloud-server - - mennos-server + - mennos-cachyos-desktop - name: seafile enabled: true hosts: @@ -72,7 +77,7 @@ - name: downloaders enabled: true hosts: - - mennos-server + - mennos-cachyos-desktop - name: wireguard enabled: true hosts: @@ -81,7 +86,7 @@ enabled: true hosts: - mennos-cloud-server - - mennos-server + - mennos-cachyos-desktop - name: arr-stack enabled: false hosts: @@ -89,11 +94,11 @@ - name: home-assistant enabled: true hosts: - - mennos-server + - mennos-cachyos-desktop - name: privatebin enabled: true hosts: - - mennos-server + - mennos-cachyos-desktop - name: unifi-network-application enabled: true hosts: diff --git a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 index 8cde984..b210a04 100644 --- a/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 +++ b/config/ansible/tasks/servers/services/caddy/Caddyfile.j2 @@ -100,7 +100,7 @@ df.mvl.sh { overseerr.mvl.sh jellyseerr.mvl.sh overseerr.vleeuwen.me jellyseerr.vleeuwen.me { import country_block - reverse_proxy mennos-server:5555 + reverse_proxy mennos-cachyos-desktop:5555 tls {{ caddy_email }} } @@ -115,28 +115,7 @@ fladder.mvl.sh { reverse_proxy fladder:80 tls {{ caddy_email }} } - -ip.mvl.sh { - import country_block - reverse_proxy echoip:8080 { - header_up X-Real-IP {http.request.remote.host} - header_up X-Forwarded-For {http.request.remote.host} - header_up X-Forwarded-Proto {scheme} - header_up X-Forwarded-Host {host} - } - tls {{ caddy_email }} -} - -http://ip.mvl.sh { - import country_block - reverse_proxy echoip:8080 { - header_up X-Real-IP {http.request.remote.host} - header_up X-Forwarded-For {http.request.remote.host} - header_up X-Forwarded-Proto {scheme} - header_up X-Forwarded-Host {host} - } -} -{% elif inventory_hostname == 'mennos-server' %} +{% elif inventory_hostname == 'mennos-cachyos-desktop' %} home.vleeuwen.me { import country_block reverse_proxy host.docker.internal:8123 { @@ -158,4 +137,25 @@ jellyfin.mvl.sh jellyfin.vleeuwen.me { reverse_proxy jellyfin:8096 tls {{ caddy_email }} } + +ip.mvl.sh ip.vleeuwen.me { + import country_block + reverse_proxy echoip:8080 { + header_up X-Real-IP {http.request.remote.host} + header_up X-Forwarded-For {http.request.remote.host} + header_up X-Forwarded-Proto {scheme} + header_up X-Forwarded-Host {host} + } + tls {{ caddy_email }} +} + +http://ip.mvl.sh http://ip.vleeuwen.me { + import country_block + reverse_proxy echoip:8080 { + header_up X-Real-IP {http.request.remote.host} + header_up X-Forwarded-For {http.request.remote.host} + header_up X-Forwarded-Proto {scheme} + header_up X-Forwarded-Host {host} + } +} {% endif %} diff --git a/config/ansible/tasks/servers/services/caddy/caddy.yml b/config/ansible/tasks/servers/services/caddy/caddy.yml index 66afa95..cd4070d 100644 --- a/config/ansible/tasks/servers/services/caddy/caddy.yml +++ b/config/ansible/tasks/servers/services/caddy/caddy.yml @@ -4,8 +4,8 @@ - name: Set Caddy directories ansible.builtin.set_fact: caddy_service_dir: "{{ ansible_env.HOME }}/services/caddy" - caddy_data_dir: "{{ '/mnt/services/caddy' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/caddy' }}" - geoip_db_path: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/echoip' }}" + caddy_data_dir: "{{ '/mnt/services/caddy' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/caddy' }}" + geoip_db_path: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/echoip' }}" caddy_email: "{{ lookup('community.general.onepassword', 'Caddy (Proxy)', vault='Dotfiles', field='email') }}" - name: Create Caddy directory diff --git a/config/ansible/tasks/servers/services/echoip/echoip.yml b/config/ansible/tasks/servers/services/echoip/echoip.yml index 2045fe8..a4f5ee2 100644 --- a/config/ansible/tasks/servers/services/echoip/echoip.yml +++ b/config/ansible/tasks/servers/services/echoip/echoip.yml @@ -4,7 +4,7 @@ - name: Set EchoIP directories ansible.builtin.set_fact: echoip_service_dir: "{{ ansible_env.HOME }}/services/echoip" - echoip_data_dir: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/echoip' }}" + echoip_data_dir: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/echoip' }}" maxmind_account_id: "{{ lookup('community.general.onepassword', 'MaxMind', vault='Dotfiles', field='account_id') | regex_replace('\\s+', '') }}" maxmind_license_key: "{{ lookup('community.general.onepassword', 'MaxMind', diff --git a/config/ansible/tasks/servers/services/jellyfin/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/jellyfin/docker-compose.yml.j2 index 444ce63..a589a76 100644 --- a/config/ansible/tasks/servers/services/jellyfin/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/jellyfin/docker-compose.yml.j2 @@ -6,15 +6,11 @@ services: - PUID=1000 - PGID=100 - TZ=Europe/Amsterdam - - JELLYFIN_PublishedServerUrl=https://jellyfin.mvl.sh -{% if inventory_hostname == 'mennos-server' %} - - NVIDIA_VISIBLE_DEVICES=all -{% endif %} volumes: - {{ jellyfin_data_dir }}/jellyfin-config:/config - - {{ '/mnt/data/movies' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/movies' }}:/movies - - {{ '/mnt/data/tvshows' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/tvshows' }}:/tvshows - - {{ '/mnt/data/music' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/music' }}:/music + - {{ '/mnt/data/movies' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/movies' }}:/movies + - {{ '/mnt/data/tvshows' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/tvshows' }}:/tvshows + - {{ '/mnt/data/music' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/music' }}:/music ports: - 8096:8096 - 8920:8920 @@ -26,17 +22,6 @@ services: - "44" networks: - caddy_network -{% if inventory_hostname == 'mennos-server' %} - runtime: nvidia - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] -{% endif %} - fladder: image: ghcr.io/donutware/fladder:latest diff --git a/config/ansible/tasks/servers/services/jellyfin/jellyfin.yml b/config/ansible/tasks/servers/services/jellyfin/jellyfin.yml index ddf17d4..7177ae1 100644 --- a/config/ansible/tasks/servers/services/jellyfin/jellyfin.yml +++ b/config/ansible/tasks/servers/services/jellyfin/jellyfin.yml @@ -3,7 +3,7 @@ block: - name: Set Jellyfin directories ansible.builtin.set_fact: - jellyfin_data_dir: "{{ '/mnt/services/jellyfin' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/jellyfin' }}" + jellyfin_data_dir: "{{ '/mnt/services/jellyfin' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/jellyfin' }}" jellyfin_service_dir: "{{ ansible_env.HOME }}/services/jellyfin" - name: Create Jellyfin directories diff --git a/config/ansible/tasks/workstations/firefoxpwa.yml b/config/ansible/tasks/workstations/firefoxpwa.yml deleted file mode 100644 index 05728ca..0000000 --- a/config/ansible/tasks/workstations/firefoxpwa.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -- name: Install required packages for FirefoxPWA - ansible.builtin.apt: - name: - - curl - - gpg - - apt-transport-https - - debian-archive-keyring - state: present - update_cache: true - become: true - -- name: Download FirefoxPWA GPG key - ansible.builtin.get_url: - url: https://packagecloud.io/filips/FirefoxPWA/gpgkey - dest: /usr/share/keyrings/firefoxpwa-keyring.gpg - mode: "0644" - become: true - -- name: Import FirefoxPWA GPG key - ansible.builtin.command: - cmd: "set -o pipefail && gpg --dearmor < /usr/share/keyrings/firefoxpwa-keyring.gpg | tee /usr/share/keyrings/firefoxpwa-keyring.gpg > /dev/null" - args: - creates: /usr/share/keyrings/firefoxpwa-keyring.gpg - become: true - -- name: Add FirefoxPWA repository - ansible.builtin.copy: - content: "deb [signed-by=/usr/share/keyrings/firefoxpwa-keyring.gpg] https://packagecloud.io/filips/FirefoxPWA/any any main" - dest: /etc/apt/sources.list.d/firefoxpwa.list - mode: "0644" - become: true - -- name: Update apt cache - ansible.builtin.apt: - update_cache: true - become: true - -- name: Install FirefoxPWA package - ansible.builtin.apt: - name: firefoxpwa - state: present - become: true - -- name: Ensure FirefoxPWA integration is enabled for compatible browsers - ansible.builtin.command: - cmd: "firefoxpwa install --global" - register: pwa_integration - changed_when: "'Integration installed' in pwa_integration.stdout" - failed_when: false - become: true diff --git a/config/ansible/tasks/workstations/flatpaks.yml b/config/ansible/tasks/workstations/flatpaks.yml index d069fb8..e7ba31c 100644 --- a/config/ansible/tasks/workstations/flatpaks.yml +++ b/config/ansible/tasks/workstations/flatpaks.yml @@ -45,7 +45,6 @@ - org.prismlauncher.PrismLauncher # Multimedia - - com.spotify.Client - com.plexamp.Plexamp - tv.plex.PlexDesktop diff --git a/config/ansible/tasks/workstations/purge-libreoffice.yml b/config/ansible/tasks/workstations/purge-libreoffice.yml index bd9ed19..aca0205 100644 --- a/config/ansible/tasks/workstations/purge-libreoffice.yml +++ b/config/ansible/tasks/workstations/purge-libreoffice.yml @@ -18,3 +18,4 @@ purge: true autoremove: true update_cache: true + when: ansible_pkg_mgr == 'apt' diff --git a/config/ansible/tasks/workstations/symlinks.yml b/config/ansible/tasks/workstations/symlinks.yml index e491dac..4f07129 100644 --- a/config/ansible/tasks/workstations/symlinks.yml +++ b/config/ansible/tasks/workstations/symlinks.yml @@ -17,6 +17,11 @@ mode: "0755" loop: "{{ workstation_symlinks }}" +- name: Remove existing autostart directory if it exists + ansible.builtin.file: + path: "{{ user_home }}/.config/autostart" + state: absent + - name: Create workstation symlinks ansible.builtin.file: src: "{{ item.src | replace('~', user_home) | replace('$DOTFILES_PATH', lookup('env', 'DOTFILES_PATH')) }}" diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index e9dd9bb..41e82d3 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -35,10 +35,6 @@ ansible.builtin.import_tasks: tasks/workstations/1password-browsers.yml when: "'microsoft-standard-WSL2' not in ansible_kernel" - - name: Include Firefox PWA tasks - ansible.builtin.import_tasks: tasks/workstations/firefoxpwa.yml - when: "'microsoft-standard-WSL2' not in ansible_kernel" - - name: Include purge LibreOffice tasks ansible.builtin.import_tasks: tasks/workstations/purge-libreoffice.yml @@ -58,15 +54,6 @@ - mangohud # Used for VSCode Extensions - nodejs - # File Manager - - nemo - # File Manager Extensions - - nemo-compare - - nemo-data - - nemo-fileroller - - nemo-font-manager - - nemo-gtkhash - - nemo-python # DistroBox - distrobox state: present diff --git a/config/ansible/tasks/workstations/zen-browser.yml b/config/ansible/tasks/workstations/zen-browser.yml index 77a9e8c..885caf3 100644 --- a/config/ansible/tasks/workstations/zen-browser.yml +++ b/config/ansible/tasks/workstations/zen-browser.yml @@ -1,7 +1,7 @@ --- - name: Set Zen browser version ansible.builtin.set_fact: - zen_browser_version: "1.13.2b" + zen_browser_version: "1.14.5b" - name: Create directory for browser ansible.builtin.file: diff --git a/config/ansible/templates/juicefs.service.j2 b/config/ansible/templates/juicefs.service.j2 index 9901907..8e7a083 100644 --- a/config/ansible/templates/juicefs.service.j2 +++ b/config/ansible/templates/juicefs.service.j2 @@ -5,7 +5,7 @@ Before=docker.service [Service] Type=simple -ExecStart=/usr/local/bin/juicefs mount redis://:{{ redis_password }}@mennos-cloud-server:6379/0 /mnt/object_storage \ +ExecStart=/usr/local/bin/juicefs mount redis://:{{ redis_password }}@100.82.178.14:6379/0 /mnt/object_storage \ --cache-dir=/var/jfsCache \ --buffer-size=4096 \ --prefetch=16 \ diff --git a/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.desktop b/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.desktop deleted file mode 100755 index 71255b8..0000000 --- a/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.desktop +++ /dev/null @@ -1,35 +0,0 @@ -[Desktop Entry] -Type=Application -Version=1.4 -Name=Fastmail -Comment=Email + calendar made better -Keywords=email;messaging; -Categories=GTK;Chat;ContactManagement;Email;InstantMessaging;Network;Office; -Icon=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX -Exec=/home/menno/.config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.ignition_delay.sh -Actions=0;1;2;3; -MimeType= -Terminal=false -StartupNotify=true -StartupWMClass=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX -Hidden=false - -[Desktop Action 0] -Name=Compose -Icon=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX-0 -Exec=/usr/bin/firefoxpwa site launch 01JWXB8PY7AXJTNFRNWQN995PX --url "https://app.fastmail.com/mail/Inbox/compose" - -[Desktop Action 1] -Name=Mail -Icon=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX-1 -Exec=/usr/bin/firefoxpwa site launch 01JWXB8PY7AXJTNFRNWQN995PX --url "https://app.fastmail.com/mail/Inbox" - -[Desktop Action 2] -Name=Contacts -Icon=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX-2 -Exec=/usr/bin/firefoxpwa site launch 01JWXB8PY7AXJTNFRNWQN995PX --url "https://app.fastmail.com/contacts/" - -[Desktop Action 3] -Name=Calendar -Icon=FFPWA-01JWXB8PY7AXJTNFRNWQN995PX-3 -Exec=/usr/bin/firefoxpwa site launch 01JWXB8PY7AXJTNFRNWQN995PX --url "https://app.fastmail.com/calendar/" diff --git a/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.ignition_delay.sh b/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.ignition_delay.sh deleted file mode 100755 index 304ac74..0000000 --- a/config/autostart/FFPWA-01JWXB8PY7AXJTNFRNWQN995PX.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 1 && /usr/bin/firefoxpwa site launch 01JWXB8PY7AXJTNFRNWQN995PX --protocol %u diff --git a/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.desktop b/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.desktop deleted file mode 100644 index fb7d6ef..0000000 --- a/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.desktop +++ /dev/null @@ -1,56 +0,0 @@ -[Desktop Entry] -Name=SeaDrive -Comment=Seafile drive client -TryExec=/home/menno/Applications/SeaDrive-x86_64-3.0.14_c106ef6e87ab7c4dea949b2b4eb528b7.AppImage -Exec=/home/menno/.config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.ignition_delay.sh -Icon=appimagekit_eb407e60ea8d3b2b80784ccca36a66be_seadrive -Type=Application -Categories=Network;FileTransfer; -X-AppImage-Old-Icon=seadrive -X-AppImage-Identifier=eb407e60ea8d3b2b80784ccca36a66be -Actions=AppImageLauncher-Remove-AppImage;AppImageLauncher-Update-AppImage; -X-AppImageLauncher-Version=3.0.0-alpha-4 (git commit 36951ec), built on 2025-02-13 16:55:10 UTC -Hidden=false -Terminal=false - -[Desktop Action AppImageLauncher-Remove-AppImage] -Name=Delete this AppImage -Icon=AppImageLauncher -Exec=/opt/appimagelauncher.AppDir/usr/lib/x86_64-linux-gnu/appimagelauncher/remove "/home/menno/Applications/SeaDrive-x86_64-3.0.14_c106ef6e87ab7c4dea949b2b4eb528b7.AppImage" -Name[ast]=Desaniciar AppImage del sistema -Name[cs]=Odebrat AppImage ze systému -Name[de]=Dieses AppImage löschen -Name[en]=Delete this AppImage -Name[es]=Eliminar Appimage del Sistema -Name[fr]=Supprimer cette AppImage -Name[it]=Rimuovi questa AppImage -Name[ko]=이 AppImage 삭제 -Name[nb_NO]=Slett AppImage -Name[nl]=AppImage deïnstalleren -Name[pl]=Usuń AppImage z systemu -Name[pt]=Remover AppImage do sistema -Name[pt_BR]=Remover AppImage do sistema -Name[ru]=Удалить AppImage -Name[tr]=Bu AppImage uygulamasını sil -Name[zh_Hans]=删除此 AppImage - -[Desktop Action AppImageLauncher-Update-AppImage] -Name=Update this AppImage -Icon=AppImageLauncher -Exec=/opt/appimagelauncher.AppDir/usr/lib/x86_64-linux-gnu/appimagelauncher/update "/home/menno/Applications/SeaDrive-x86_64-3.0.14_c106ef6e87ab7c4dea949b2b4eb528b7.AppImage" -Name[ast]=Anovar AppImage -Name[cs]=Aktualizovat AppImage -Name[de]=Dieses AppImage aktualisieren -Name[en]=Update this AppImage -Name[es]=Actualizar Appimage -Name[fr]=Mettre à jour l'AppImage -Name[it]=Aggiorna questa AppImage -Name[ko]=이 AppImage 업데이트 -Name[nb_NO]=Oppdater AppImage -Name[nl]=AppImage bijwerken -Name[pl]=Uaktualnij AppImage -Name[pt]=Atualizar AppImage -Name[pt_BR]=Atualizar AppImage -Name[ru]=Обновить AppImage -Name[tr]=Bu AppImage uygulamasını güncelle -Name[zh_Hans]=更新此 AppImage diff --git a/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.ignition_delay.sh b/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.ignition_delay.sh deleted file mode 100755 index 7488998..0000000 --- a/config/autostart/appimagekit_eb407e60ea8d3b2b80784ccca36a66be-SeaDrive.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 10 && /home/menno/Applications/SeaDrive-x86_64-3.0.14_c106ef6e87ab7c4dea949b2b4eb528b7.AppImage diff --git a/config/autostart/com.rtosta.zapzap.desktop b/config/autostart/com.rtosta.zapzap.desktop deleted file mode 100755 index 69773f3..0000000 --- a/config/autostart/com.rtosta.zapzap.desktop +++ /dev/null @@ -1,18 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=ZapZap -Comment[pt_BR]=Whatsapp Desktop para Linux -Comment=Whatsapp Desktop for Linux -Exec=/home/menno/.config/autostart/com.rtosta.zapzap.ignition_delay.sh -Icon=com.rtosta.zapzap -Type=Application -Categories=Chat;Network;InstantMessaging;Qt; -Keywords=Whatsapp;Chat;ZapZap; -StartupWMClass=zapzap -MimeType=x-scheme-handler/whatsapp -Terminal=false -SingleMainWindow=true -X-GNOME-UsesNotifications=true -X-GNOME-SingleWindow=true -X-Flatpak=com.rtosta.zapzap -Hidden=false diff --git a/config/autostart/com.rtosta.zapzap.ignition_delay.sh b/config/autostart/com.rtosta.zapzap.ignition_delay.sh deleted file mode 100755 index 549ff4b..0000000 --- a/config/autostart/com.rtosta.zapzap.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 7 && /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=zapzap --file-forwarding com.rtosta.zapzap @@u %u @@ diff --git a/config/autostart/com.spotify.Client.desktop b/config/autostart/com.spotify.Client.desktop deleted file mode 100755 index e0781aa..0000000 --- a/config/autostart/com.spotify.Client.desktop +++ /dev/null @@ -1,15 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Spotify -GenericName=Music Player -Icon=com.spotify.Client -Exec=/home/menno/.config/autostart/com.spotify.Client.ignition_delay.sh -Terminal=false -MimeType=x-scheme-handler/spotify; -Categories=Audio;Music;Player;AudioVideo; -StartupWMClass=spotify -X-GNOME-UsesNotifications=true -X-Flatpak-Tags=proprietary; -X-Flatpak=com.spotify.Client -Hidden=false -Comment= diff --git a/config/autostart/com.spotify.Client.ignition_delay.sh b/config/autostart/com.spotify.Client.ignition_delay.sh deleted file mode 100755 index 1fe443e..0000000 --- a/config/autostart/com.spotify.Client.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 6 && /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=spotify --file-forwarding com.spotify.Client @@u %U @@ diff --git a/config/autostart/io.github.equicord.equibop.desktop b/config/autostart/io.github.equicord.equibop.desktop deleted file mode 100755 index 0b189f8..0000000 --- a/config/autostart/io.github.equicord.equibop.desktop +++ /dev/null @@ -1,16 +0,0 @@ -[Desktop Entry] -Name=Equibop -Exec=/home/menno/.config/autostart/io.github.equicord.equibop.ignition_delay.sh -Terminal=false -Type=Application -Icon=io.github.equicord.equibop -StartupWMClass=Equibop -X-AppImage-Version=2.1.4 -GenericName=Internet Messenger -Categories=Network; -Keywords=discord;equibop;vesktop;vencord;equicord;electron;chat; -MimeType=x-scheme-handler/discord; -Comment=A fork of Vesktop pre-packaged with Equicord -X-Desktop-File-Install-Version=0.28 -X-Flatpak=io.github.equicord.equibop -Hidden=false diff --git a/config/autostart/io.github.equicord.equibop.ignition_delay.sh b/config/autostart/io.github.equicord.equibop.ignition_delay.sh deleted file mode 100755 index 57fab3f..0000000 --- a/config/autostart/io.github.equicord.equibop.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 4 && /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=startequibop io.github.equicord.equibop diff --git a/config/autostart/org.signal.Signal.desktop b/config/autostart/org.signal.Signal.desktop deleted file mode 100755 index 4457386..0000000 --- a/config/autostart/org.signal.Signal.desktop +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Name=Signal -Exec=/home/menno/.config/autostart/org.signal.Signal.ignition_delay.sh -Terminal=false -Type=Application -Icon=org.signal.Signal -StartupWMClass=Signal -Comment=Private messaging from your desktop -MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; -Categories=Network;InstantMessaging;Chat; -X-Desktop-File-Install-Version=0.28 -X-Flatpak-RenamedFrom=signal-desktop.desktop; -X-Flatpak=org.signal.Signal -Hidden=false diff --git a/config/autostart/org.signal.Signal.ignition_delay.sh b/config/autostart/org.signal.Signal.ignition_delay.sh deleted file mode 100755 index 306f802..0000000 --- a/config/autostart/org.signal.Signal.ignition_delay.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -sleep 2 && /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal @@u %U @@ diff --git a/config/autostart/org.telegram.desktop.desktop b/config/autostart/org.telegram.desktop.desktop index 3e546f8..f5abf17 100755 --- a/config/autostart/org.telegram.desktop.desktop +++ b/config/autostart/org.telegram.desktop.desktop @@ -1,7 +1,8 @@ [Desktop Entry] Name=Telegram Comment=New era of messaging -Exec=/home/menno/.config/autostart/org.telegram.ignition_delay.sh.desktop +TryExec=Telegram +Exec=/home/menno/.config/autostart/org.telegram.desktop.ignition_delay.sh Icon=org.telegram.desktop Terminal=false StartupWMClass=TelegramDesktop @@ -14,10 +15,9 @@ DBusActivatable=false SingleMainWindow=true X-GNOME-UsesNotifications=true X-GNOME-SingleWindow=true -X-Flatpak=org.telegram.desktop Hidden=false [Desktop Action quit] -Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=telegram-desktop org.telegram.desktop -quit +Exec=Telegram -quit Name=Quit Telegram Icon=application-exit diff --git a/config/autostart/org.telegram.desktop.ignition_delay.sh b/config/autostart/org.telegram.desktop.ignition_delay.sh new file mode 100755 index 0000000..59667f5 --- /dev/null +++ b/config/autostart/org.telegram.desktop.ignition_delay.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +sleep 2 && Telegram -- %u diff --git a/config/autostart/signal-desktop.desktop b/config/autostart/signal-desktop.desktop new file mode 100755 index 0000000..c9d39f1 --- /dev/null +++ b/config/autostart/signal-desktop.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Type=Application +Name=Signal +Comment=Signal - Private Messenger +Comment[de]=Signal - Sicherer Messenger +Icon=signal-desktop +Exec=/home/menno/.config/autostart/signal-desktop.ignition_delay.sh +Terminal=false +Categories=Network;InstantMessaging; +StartupWMClass=signal +MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; +Keywords=sgnl;chat;im;messaging;messenger;security;privat; +X-GNOME-UsesNotifications=true +Hidden=false diff --git a/config/autostart/signal-desktop.ignition_delay.sh b/config/autostart/signal-desktop.ignition_delay.sh new file mode 100755 index 0000000..05a765b --- /dev/null +++ b/config/autostart/signal-desktop.ignition_delay.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +sleep 2 && signal-desktop -- %u diff --git a/config/autostart/steam.desktop b/config/autostart/steam.desktop new file mode 100755 index 0000000..3e40b01 --- /dev/null +++ b/config/autostart/steam.desktop @@ -0,0 +1,283 @@ +[Desktop Entry] +Name=Steam +Comment=Application for managing and playing games on Steam +Comment[pt_BR]=Aplicativo para jogar e gerenciar jogos no Steam +Comment[bg]=Приложение за ръководене и пускане на игри в Steam +Comment[cs]=Aplikace pro spravování a hraní her ve službě Steam +Comment[da]=Applikation til at håndtere og spille spil på Steam +Comment[nl]=Applicatie voor het beheer en het spelen van games op Steam +Comment[fi]=Steamin pelien hallintaan ja pelaamiseen tarkoitettu sovellus +Comment[fr]=Application de gestion et d'utilisation des jeux sur Steam +Comment[de]=Anwendung zum Verwalten und Spielen von Spielen auf Steam +Comment[el]=Εφαρμογή διαχείρισης παιχνιδιών στο Steam +Comment[hu]=Alkalmazás a Steames játékok futtatásához és kezeléséhez +Comment[it]=Applicazione per la gestione e l'esecuzione di giochi su Steam +Comment[ja]=Steam 上でゲームを管理&プレイするためのアプリケーション +Comment[ko]=Steam에 있는 게임을 관리하고 플레이할 수 있는 응용 프로그램 +Comment[no]=Program for å administrere og spille spill på Steam +Comment[pt_PT]=Aplicação para organizar e executar jogos no Steam +Comment[pl]=Aplikacja do zarządzania i uruchamiania gier na platformie Steam +Comment[ro]=Aplicație pentru administrarea și jucatul jocurilor pe Steam +Comment[ru]=Приложение для игр и управления играми в Steam +Comment[es]=Aplicación para administrar y ejecutar juegos en Steam +Comment[sv]=Ett program för att hantera samt spela spel på Steam +Comment[zh_CN]=管理和进行 Steam 游戏的应用程序 +Comment[zh_TW]=管理並執行 Steam 遊戲的應用程式 +Comment[th]=โปรแกรมสำหรับจัดการและเล่นเกมบน Steam +Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması +Comment[uk]=Програма для керування іграми та запуску ігор у Steam +Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam +Exec=/home/menno/.config/autostart/steam.ignition_delay.sh +Icon=steam +Terminal=false +Type=Application +Categories=Network;FileTransfer;Game; +MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink; +Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends; +PrefersNonDefaultGPU=true +X-KDE-RunOnDiscreteGpu=true +Hidden=false + +[Desktop Action Store] +Name=Store +Name[pt_BR]=Loja +Name[bg]=Магазин +Name[cs]=Obchod +Name[da]=Butik +Name[nl]=Winkel +Name[fi]=Kauppa +Name[fr]=Magasin +Name[de]=Shop +Name[el]=ΚΑΤΑΣΤΗΜΑ +Name[hu]=Áruház +Name[it]=Negozio +Name[ja]=ストア +Name[ko]=상점 +Name[no]=Butikk +Name[pt_PT]=Loja +Name[pl]=Sklep +Name[ro]=Magazin +Name[ru]=Магазин +Name[es]=Tienda +Name[sv]=Butik +Name[zh_CN]=商店 +Name[zh_TW]=商店 +Name[th]=ร้านค้า +Name[tr]=Mağaza +Name[uk]=Крамниця +Name[vi]=Cửa hàng +Exec=steam steam://store + +[Desktop Action Community] +Name=Community +Name[pt_BR]=Comunidade +Name[bg]=Общност +Name[cs]=Komunita +Name[da]=Fællesskab +Name[nl]=Community +Name[fi]=Yhteisö +Name[fr]=Communauté +Name[de]=Community +Name[el]=Κοινότητα +Name[hu]=Közösség +Name[it]=Comunità +Name[ja]=コミュニティ +Name[ko]=커뮤니티 +Name[no]=Samfunn +Name[pt_PT]=Comunidade +Name[pl]=Społeczność +Name[ro]=Comunitate +Name[ru]=Сообщество +Name[es]=Comunidad +Name[sv]=Gemenskap +Name[zh_CN]=社区 +Name[zh_TW]=社群 +Name[th]=ชุมชน +Name[tr]=Topluluk +Name[uk]=Спільнота +Name[vi]=Cộng đồng +Exec=steam steam://url/SteamIDControlPage + +[Desktop Action Library] +Name=Library +Name[pt_BR]=Biblioteca +Name[bg]=Библиотека +Name[cs]=Knihovna +Name[da]=Bibliotek +Name[nl]=Bibliotheek +Name[fi]=Kokoelma +Name[fr]=Bibliothèque +Name[de]=Bibliothek +Name[el]=Συλλογή +Name[hu]=Könyvtár +Name[it]=Libreria +Name[ja]=ライブラリ +Name[ko]=라이브러리 +Name[no]=Bibliotek +Name[pt_PT]=Biblioteca +Name[pl]=Biblioteka +Name[ro]=Colecţie +Name[ru]=Библиотека +Name[es]=Biblioteca +Name[sv]=Bibliotek +Name[zh_CN]=库 +Name[zh_TW]=收藏庫 +Name[th]=คลัง +Name[tr]=Kütüphane +Name[uk]=Бібліотека +Name[vi]=Thư viện +Exec=steam steam://open/games + +[Desktop Action Servers] +Name=Servers +Name[pt_BR]=Servidores +Name[bg]=Сървъри +Name[cs]=Servery +Name[da]=Servere +Name[nl]=Servers +Name[fi]=Palvelimet +Name[fr]=Serveurs +Name[de]=Server +Name[el]=Διακομιστές +Name[hu]=Szerverek +Name[it]=Server +Name[ja]=サーバー +Name[ko]=서버 +Name[no]=Tjenere +Name[pt_PT]=Servidores +Name[pl]=Serwery +Name[ro]=Servere +Name[ru]=Серверы +Name[es]=Servidores +Name[sv]=Servrar +Name[zh_CN]=服务器 +Name[zh_TW]=伺服器 +Name[th]=เซิร์ฟเวอร์ +Name[tr]=Sunucular +Name[uk]=Сервери +Name[vi]=Máy chủ +Exec=steam steam://open/servers + +[Desktop Action Screenshots] +Name=Screenshots +Name[pt_BR]=Capturas de tela +Name[bg]=Снимки +Name[cs]=Snímky obrazovky +Name[da]=Skærmbilleder +Name[nl]=Screenshots +Name[fi]=Kuvankaappaukset +Name[fr]=Captures d'écran +Name[de]=Screenshots +Name[el]=Φωτογραφίες +Name[hu]=Képernyőmentések +Name[it]=Screenshot +Name[ja]=スクリーンショット +Name[ko]=스크린샷 +Name[no]=Skjermbilder +Name[pt_PT]=Capturas de ecrã +Name[pl]=Zrzuty ekranu +Name[ro]=Capturi de ecran +Name[ru]=Скриншоты +Name[es]=Capturas +Name[sv]=Skärmdumpar +Name[zh_CN]=截图 +Name[zh_TW]=螢幕擷圖 +Name[th]=ภาพหน้าจอ +Name[tr]=Ekran Görüntüleri +Name[uk]=Скріншоти +Name[vi]=Ảnh chụp +Exec=steam steam://open/screenshots + +[Desktop Action News] +Name=News +Name[pt_BR]=Notícias +Name[bg]=Новини +Name[cs]=Zprávy +Name[da]=Nyheder +Name[nl]=Nieuws +Name[fi]=Uutiset +Name[fr]=Actualités +Name[de]=Neuigkeiten +Name[el]=Νέα +Name[hu]=Hírek +Name[it]=Notizie +Name[ja]=ニュース +Name[ko]=뉴스 +Name[no]=Nyheter +Name[pt_PT]=Novidades +Name[pl]=Aktualności +Name[ro]=Știri +Name[ru]=Новости +Name[es]=Noticias +Name[sv]=Nyheter +Name[zh_CN]=新闻 +Name[zh_TW]=新聞 +Name[th]=ข่าวสาร +Name[tr]=Haberler +Name[uk]=Новини +Name[vi]=Tin tức +Exec=steam steam://open/news + +[Desktop Action Settings] +Name=Settings +Name[pt_BR]=Configurações +Name[bg]=Настройки +Name[cs]=Nastavení +Name[da]=Indstillinger +Name[nl]=Instellingen +Name[fi]=Asetukset +Name[fr]=Paramètres +Name[de]=Einstellungen +Name[el]=Ρυθμίσεις +Name[hu]=Beállítások +Name[it]=Impostazioni +Name[ja]=設定 +Name[ko]=설정 +Name[no]=Innstillinger +Name[pt_PT]=Definições +Name[pl]=Ustawienia +Name[ro]=Setări +Name[ru]=Настройки +Name[es]=Parámetros +Name[sv]=Inställningar +Name[zh_CN]=设置 +Name[zh_TW]=設定 +Name[th]=การตั้งค่า +Name[tr]=Ayarlar +Name[uk]=Налаштування +Name[vi]=Thiết lập +Exec=steam steam://open/settings + +[Desktop Action BigPicture] +Name=Big Picture +Exec=steam steam://open/bigpicture + +[Desktop Action Friends] +Name=Friends +Name[pt_BR]=Amigos +Name[bg]=Приятели +Name[cs]=Přátelé +Name[da]=Venner +Name[nl]=Vrienden +Name[fi]=Kaverit +Name[fr]=Amis +Name[de]=Freunde +Name[el]=Φίλοι +Name[hu]=Barátok +Name[it]=Amici +Name[ja]=フレンド +Name[ko]=친구 +Name[no]=Venner +Name[pt_PT]=Amigos +Name[pl]=Znajomi +Name[ro]=Prieteni +Name[ru]=Друзья +Name[es]=Amigos +Name[sv]=Vänner +Name[zh_CN]=好友 +Name[zh_TW]=好友 +Name[th]=เพื่อน +Name[tr]=Arkadaşlar +Name[uk]=Друзі +Name[vi]=Bạn bè +Exec=steam steam://open/friends diff --git a/config/autostart/steam.ignition_delay.sh b/config/autostart/steam.ignition_delay.sh new file mode 100755 index 0000000..59ae7e0 --- /dev/null +++ b/config/autostart/steam.ignition_delay.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +sleep 10 && /usr/bin/steam %U diff --git a/config/home-manager/flake.lock b/config/home-manager/flake.lock index 8926609..0533b3d 100644 --- a/config/home-manager/flake.lock +++ b/config/home-manager/flake.lock @@ -25,11 +25,11 @@ ] }, "locked": { - "lastModified": 1752544374, - "narHash": "sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus=", + "lastModified": 1752780124, + "narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=", "owner": "nix-community", "repo": "home-manager", - "rev": "2e00ed310c218127e02ffcf28ddd4e0f669fde3e", + "rev": "c718918222bdb104397762dea67e6b397a7927fe", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752436162, - "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=", + "lastModified": 1752620740, + "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8", + "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", "type": "github" }, "original": { diff --git a/config/home-manager/flake.nix b/config/home-manager/flake.nix index 024ed92..f549d38 100644 --- a/config/home-manager/flake.nix +++ b/config/home-manager/flake.nix @@ -33,6 +33,20 @@ in { homeConfigurations = { + "mennos-cachyos-desktop" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ ./home.nix ]; + extraSpecialArgs = { + inherit + pkgs + pkgs-unstable + opnix + ; + isServer = false; + hostname = "mennos-cachyos-desktop"; + }; + }; + "mennos-desktop" = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; @@ -61,20 +75,6 @@ }; }; - "dotfiles-test" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - modules = [ ./home.nix ]; - extraSpecialArgs = { - inherit - pkgs - pkgs-unstable - opnix - ; - isServer = true; - hostname = "dotfiles-test"; - }; - }; - "mennos-cloud-server" = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; diff --git a/config/home-manager/packages/common/hosts/mennos-cachyos-desktop.nix b/config/home-manager/packages/common/hosts/mennos-cachyos-desktop.nix new file mode 100644 index 0000000..46f1ad7 --- /dev/null +++ b/config/home-manager/packages/common/hosts/mennos-cachyos-desktop.nix @@ -0,0 +1,4 @@ +{ pkgs-unstable, ... }: +{ + home.packages = with pkgs-unstable; [ ]; +} diff --git a/config/home-manager/packages/common/packages.nix b/config/home-manager/packages/common/packages.nix index ad698ad..6329415 100644 --- a/config/home-manager/packages/common/packages.nix +++ b/config/home-manager/packages/common/packages.nix @@ -9,12 +9,12 @@ imports = if hostname == "mennos-desktop" then [ ./hosts/mennos-desktop.nix ] + else if hostname == "mennos-cachyos-desktop" then + [ ./hosts/mennos-cachyos-desktop.nix ] else if hostname == "mennos-laptop-w" then [ ./hosts/mennos-laptop-w.nix ] else if hostname == "mennos-server" then [ ./hosts/mennos-server.nix ] - else if hostname == "dotfiles-test" then - [ ./hosts/mennos-server.nix ] else if hostname == "mennos-cloud-server" then [ ./hosts/mennos-cloud-server.nix ] else if hostname == "mennos-vm" then diff --git a/config/home-manager/workstation/default-apps.nix b/config/home-manager/workstation/default-apps.nix deleted file mode 100644 index ad9470d..0000000 --- a/config/home-manager/workstation/default-apps.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ ... }: -{ - # Default applications - xdg.mimeApps = { - enable = true; - defaultApplications = { - # default browser - "application/xhtml+xml" = [ "firefox.desktop" ]; - "text/html" = [ "firefox.desktop" ]; - "x-scheme-handler/http" = [ "firefox.desktop" ]; - "x-scheme-handler/https" = [ "firefox.desktop" ]; - - # default file manager - "inode/directory" = [ "nemo.desktop" ]; - - # VLC (Video Player) - "video/x-ogm+ogg" = [ "vlc.desktop" ]; - "video/3gp" = [ "vlc.desktop" ]; - "video/3gpp" = [ "vlc.desktop" ]; - "video/3gpp2" = [ "vlc.desktop" ]; - "video/dv" = [ "vlc.desktop" ]; - "video/divx" = [ "vlc.desktop" ]; - "video/fli" = [ "vlc.desktop" ]; - "video/flv" = [ "vlc.desktop" ]; - "video/mp2t" = [ "vlc.desktop" ]; - "video/mp4" = [ "vlc.desktop" ]; - "video/mp4v-es" = [ "vlc.desktop" ]; - "video/mpeg" = [ "vlc.desktop" ]; - "video/mpeg-system" = [ "vlc.desktop" ]; - "video/msvideo" = [ "vlc.desktop" ]; - "video/ogg" = [ "vlc.desktop" ]; - "video/quicktime" = [ "vlc.desktop" ]; - "video/vnd.divx" = [ "vlc.desktop" ]; - "video/vnd.mpegurl" = [ "vlc.desktop" ]; - "video/vnd.rn-realvideo" = [ "vlc.desktop" ]; - "video/webm" = [ "vlc.desktop" ]; - "video/x-anim" = [ "vlc.desktop" ]; - "video/x-avi" = [ "vlc.desktop" ]; - "video/x-flc" = [ "vlc.desktop" ]; - "video/x-fli" = [ "vlc.desktop" ]; - "video/x-flv" = [ "vlc.desktop" ]; - "video/x-m4v" = [ "vlc.desktop" ]; - "video/x-matroska" = [ "vlc.desktop" ]; - "video/x-mpeg" = [ "vlc.desktop" ]; - "video/x-mpeg2" = [ "vlc.desktop" ]; - "video/x-ms-asf" = [ "vlc.desktop" ]; - "video/x-ms-asf-plugin" = [ "vlc.desktop" ]; - "video/x-ms-asx" = [ "vlc.desktop" ]; - "video/x-msvideo" = [ "vlc.desktop" ]; - "video/x-ms-wm" = [ "vlc.desktop" ]; - "video/x-ms-wmv" = [ "vlc.desktop" ]; - "video/x-ms-wmx" = [ "vlc.desktop" ]; - "video/x-ms-wvx" = [ "vlc.desktop" ]; - "video/x-nsv" = [ "vlc.desktop" ]; - "video/x-theora" = [ "vlc.desktop" ]; - "video/x-theora+ogg" = [ "vlc.desktop" ]; - "video/x-ogm" = [ "vlc.desktop" ]; - "video/avi" = [ "vlc.desktop" ]; - "video/x-mpeg-system" = [ "vlc.desktop" ]; - }; - }; -} diff --git a/config/ssh/config b/config/ssh/config index bd70cfc..008a267 100644 --- a/config/ssh/config +++ b/config/ssh/config @@ -1,4 +1,5 @@ Host * + IdentityAgent ~/.1password/agent.sock AddKeysToAgent yes ForwardAgent yes diff --git a/setup.sh b/setup.sh index 2ce70ac..37a77b3 100755 --- a/setup.sh +++ b/setup.sh @@ -301,7 +301,7 @@ warning_prompt() { 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." echo "" - log_info "This script has been tested on Ubuntu 22.04, 24.04, 24.10, Pop!_OS 24.04 Alpha 7, Debian 12 and Fedora 41." + log_info "This script has been tested on Ubuntu 22.04, 24.04, 24.10, Pop!_OS 24.04 Alpha 7, Debian 12, Fedora 41 and CachyOS." log_info "Setup starts in 10 seconds, to abort use Ctrl+C to exit NOW." echo "" sleep 10 @@ -425,6 +425,12 @@ check_compatibility() { sleep 5 check_command_availibility "apt" ;; + CachyOS*) + log_success "Detected CachyOS Linux. Proceeding with setup..." + log_warning "Continueing in 5 seconds..." + sleep 5 + check_command_availibility "pacman" + ;; *) die "Unsupported distribution: $distro" ;; @@ -518,7 +524,7 @@ EOF log_error "!!! Please logout / restart to continue !!!" log_error "~~~ Proceed by running 'dotf update' ~~~" echo "" - log_warning "Note: For servers to be able to load secrets you might want to populate ~/.op_sat with a 1Password Service Account Token." + log_warning "Note: For systems to be able to load secrets you might want to populate ~/.op_sat with a 1Password Service Account Token." echo "" } diff --git a/vscode/settings.json b/vscode/settings.json index 763d3af..e23e132 100755 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -53,6 +53,7 @@ "remote.SSH.remotePlatform": { "mennos-laptop-w": "linux", "mennos-desktop": "linux", + "mennos-cachyos-desktop": "linux", "cloud": "linux" }, "editor.tabSize": 2, @@ -75,5 +76,6 @@ "debug.toolBarLocation": "commandCenter", "workbench.colorTheme": "Default Dark+", "ansible.lightspeed.enabled": false, - "ansible.lightspeed.suggestions.enabled": false + "ansible.lightspeed.suggestions.enabled": false, + "docker.extension.enableComposeLanguageServer": false } \ No newline at end of file