diff --git a/bin/actions/auto-start.sh b/bin/actions/auto-start.sh index 36c1be5..f9b7eb8 100755 --- a/bin/actions/auto-start.sh +++ b/bin/actions/auto-start.sh @@ -3,11 +3,10 @@ source $HOME/dotfiles/bin/helpers/functions.sh # Define associative array with app_name => command mapping declare -A apps=( - ["spotify"]="flatpak run com.spotify.Client" ["vesktop"]="vesktop" + ["bitwarden"]="bitwarden" ["ktailctl"]="flatpak run org.fkoehler.KTailctl" - ["1password"]="1password" - ["ulauncher"]="ulauncher-wrapped --no-window-shadow --hide-window" + ["ulauncher"]="ulauncher --no-window-shadow --hide-window" ) # check if screen has any dead sessions diff --git a/bin/actions/update.sh b/bin/actions/update.sh index 0e63a9c..a9e1add 100755 --- a/bin/actions/update.sh +++ b/bin/actions/update.sh @@ -5,7 +5,9 @@ help() { printfe "%s\n" "green" "Usage: upgrade.sh [options]" printfe "%s\n" "green" "Options:" printfe "%s\n" "green" " --ha, -H Upgrade Home Manager packages." - printfe "%s\n" "green" " --nix, -X Upgrade NixOS packages." + printfe "%s\n" "green" " --ansible, -A Upgrade Ansible packages." + printfe "%s\n" "green" " --ansible-verbose Upgrade Ansible packages with verbose output. (-vvv)" + printfe "%s\n" "green" " --nix, -X Update Home Manager flake." printfe "%s\n" "green" " --full-speed, -F Upgrade packages and use all available cores for compilation. (Default: 8 cores)" printfe "%s\n" "green" " --help, -h Display this help message." exit 0 @@ -16,6 +18,9 @@ while [[ "$#" -gt 0 ]]; do --ha|-H) RUN_HA=true ;; --nix|-X) RUN_NIX=true ;; --ansible|-A) RUN_ANSIBLE=true ;; + --ansible-verbose) + RUN_ANSIBLE=true + ANSIBLE_VERBOSE=true ;; --full-speed|-F) FULL_SPEED=true ;; --help|-h) help ;; *) echo "Unknown parameter passed: $1"; @@ -76,10 +81,10 @@ if [[ "$RUN_ANSIBLE" == true ]]; then fi printfe "%s\n" "cyan" "Running Ansible playbook..." - cd $HOME/dotfiles/config/ansible && ansible-playbook -i $HOME/dotfiles/config/ansible/inventory.ini $HOME/dotfiles/config/ansible/main.yml --extra-vars "hostname=$HOSTNAME" --extra-vars "ansible_user=$USER" --limit $HOSTNAME --ask-become-pass + cd $HOME/dotfiles/config/ansible && ansible-playbook -i $HOME/dotfiles/config/ansible/inventory.ini $HOME/dotfiles/config/ansible/main.yml --extra-vars "hostname=$HOSTNAME" --extra-vars "ansible_user=$USER" --limit $HOSTNAME --ask-become-pass ${ANSIBLE_VERBOSE:+-vvv} if [[ $? -ne 0 ]]; then printfe "%s\n" "red" "Failed to upgrade Ansible packages." exit 1 fi -fi \ No newline at end of file +fi diff --git a/config/ansible/tasks/global/global.yml b/config/ansible/tasks/global/global.yml index 0d9e237..5f0ac84 100644 --- a/config/ansible/tasks/global/global.yml +++ b/config/ansible/tasks/global/global.yml @@ -36,3 +36,6 @@ - name: Include pipx tasks ansible.builtin.import_tasks: tasks/global/pipx.yml + +- name: Include zsync tasks + ansible.builtin.import_tasks: tasks/global/zsync.yml diff --git a/config/ansible/tasks/global/zsync.yml b/config/ansible/tasks/global/zsync.yml new file mode 100644 index 0000000..6b501ef --- /dev/null +++ b/config/ansible/tasks/global/zsync.yml @@ -0,0 +1,38 @@ +- name: Check if zsync is installed + ansible.builtin.command: zsync -V + register: zsync_installed + ignore_errors: true + +- name: Install zsync from source + ansible.builtin.get_url: + url: http://zsync.moria.org.uk/download/zsync-0.6.2.tar.bz2 + dest: /tmp/zsync-0.6.2.tar.bz2 + mode: '0644' + when: zsync_installed.rc != 0 + +- name: Extract zsync source + ansible.builtin.unarchive: + src: /tmp/zsync-0.6.2.tar.bz2 + dest: /tmp + remote_src: false + creates: /tmp/zsync-0.6.2 + when: zsync_installed.rc != 0 + +- name: Install zsync from source (./configure) + ansible.builtin.command: ./configure + args: + chdir: /tmp/zsync-0.6.2 + when: zsync_installed.rc != 0 + +- name: Install zsync from source (make) + ansible.builtin.command: make + args: + chdir: /tmp/zsync-0.6.2 + when: zsync_installed.rc != 0 + +- name: Install zsync from source (sudo make install) + ansible.builtin.command: make install + args: + chdir: /tmp/zsync-0.6.2 + become: true + when: zsync_installed.rc != 0 diff --git a/config/ansible/tasks/workstations/flatpaks.yml b/config/ansible/tasks/workstations/flatpaks.yml index f46bbad..94cbe14 100644 --- a/config/ansible/tasks/workstations/flatpaks.yml +++ b/config/ansible/tasks/workstations/flatpaks.yml @@ -29,13 +29,10 @@ ansible.builtin.set_fact: desired_system_flatpaks: - org.fkoehler.KTailctl - - org.mozilla.Thunderbird - com.spotify.Client - org.gnome.Extensions - - com.endlessnetwork.aqueducts - com.tomjwatson.Emote - io.github.openhv.OpenHV - - net.wz2100.wz2100 - com.github.k4zmu2a.spacecadetpinball - com.usebottles.bottles - io.github.shiftey.Desktop @@ -51,10 +48,8 @@ - info.beyondallreason.bar - io.gitlab.adhami3310.Impression - org.prismlauncher.PrismLauncher - - com.logseq.Logseq - io.ente.auth - org.signal.Signal - - com.mardojai.ForgeSparks - io.github.fastrizwaan.WineZGUI - net.davidotek.pupgui2 - tv.plex.PlexDesktop @@ -73,7 +68,6 @@ - io.bassi.Amberol - org.gaphor.Gaphor - io.github.seadve.Mousai - - app.zen_browser.zen - name: Define system desired Flatpak remotes ansible.builtin.set_fact: diff --git a/config/ansible/tasks/workstations/snaps.yml b/config/ansible/tasks/workstations/snaps.yml new file mode 100644 index 0000000..a4b130e --- /dev/null +++ b/config/ansible/tasks/workstations/snaps.yml @@ -0,0 +1,60 @@ +- name: Ensure snapd is installed + ansible.builtin.package: + name: snapd + state: present + become: true + +- name: Ensure snapd service is enabled and started + ansible.builtin.systemd: + name: snapd + state: started + enabled: true + become: true + +- name: Get list of installed Snaps + ansible.builtin.command: snap list + register: installed_snaps + changed_when: false + +- name: Define protected system snaps + ansible.builtin.set_fact: + system_snaps: + - snapd + - core + - core18 + - core20 + - core22 + - bare + - gtk-common-themes + - gnome-3-28-1804 + - gnome-3-34-1804 + - gnome-3-38-2004 + +- name: Define desired Snaps + ansible.builtin.set_fact: + desired_snaps: + - name: bitwarden + classic: false + - name: bw + classic: false + +- name: Install desired Snap packages + ansible.builtin.command: "snap install {{ item.name }} {{ '--classic' if item.classic else '' }}" + loop: "{{ desired_snaps }}" + become: true + register: snap_install + changed_when: "'already installed' not in snap_install.stderr" + failed_when: + - snap_install.rc != 0 + - "'already installed' not in snap_install.stderr" + +- name: Remove undesired Snap packages + ansible.builtin.command: "snap remove {{ item }}" + become: true + loop: "{{ installed_snaps.stdout_lines[1:] | map('split', ' ') | map('first') | difference(desired_snaps | map(attribute='name')) | difference(system_snaps) }}" + register: snap_remove + changed_when: snap_remove.rc == 0 + failed_when: + - snap_remove.rc != 0 + - "'not installed' not in snap_remove.stderr" + - "'cannot remove' not in snap_remove.stderr" diff --git a/config/ansible/tasks/workstations/ulauncher.yml b/config/ansible/tasks/workstations/ulauncher.yml new file mode 100644 index 0000000..51283dc --- /dev/null +++ b/config/ansible/tasks/workstations/ulauncher.yml @@ -0,0 +1,101 @@ +- name: Ensure Ulauncher and dependencies are installed + ansible.builtin.package: + name: + - ulauncher + - python3-pytz + - python3-tornado + - python3-docker + - python3-requests + - python3-pint + - python3-simpleeval + - python3-parsedatetime + - python3-fuzzywuzzy + # - python3-thefuzz + state: present + become: true + +- name: Ensure Ulauncher config directory exists + ansible.builtin.file: + path: "~/.config/ulauncher" + state: directory + mode: '0755' + +- name: Configure Ulauncher settings + ansible.builtin.copy: + content: "{{ ulauncher_settings | to_json }}" + dest: "~/.config/ulauncher/settings.json" + mode: '0644' + vars: + ulauncher_settings: + blacklisted-desktop-dirs: "/usr/share/locale:/usr/share/app-install:/usr/share/kservices5:/usr/share/fk5:/usr/share/kservicetypes5:/usr/share/applications/screensavers:/usr/share/kde4:/usr/share/mimelnk" + clear-previous-query: true + disable-desktop-filters: false + grab-mouse-pointer: false + hotkey-show-app: "Space" + render-on-screen: "mouse-pointer-monitor" + show-indicator-icon: true + show-recent-apps: "4" + terminal-command: "ptyxis" + theme-name: "dark" + +- name: Configure Ulauncher shortcuts + ansible.builtin.copy: + content: "{{ ulauncher_shortcuts | to_json }}" + dest: "~/.config/ulauncher/shortcuts.json" + mode: '0644' + vars: + ulauncher_shortcuts: + "0bab9d26-5464-4501-bc95-9995d8fa1405": + id: "0bab9d26-5464-4501-bc95-9995d8fa1405" + name: "Google Search" + keyword: "g" + cmd: "https://google.com/search?q=%s" + icon: "/usr/share/ulauncher/media/google-search-icon.png" + is_default_search: true + run_without_argument: false + added: 0 + "d72834d1-5d81-4f5d-a9f6-386b12110f56": + id: "d72834d1-5d81-4f5d-a9f6-386b12110f56" + name: "Stack Overflow" + keyword: "so" + cmd: "https://stackoverflow.com/search?q=%s" + icon: "/usr/share/ulauncher/media/stackoverflow-icon.svg" + is_default_search: true + run_without_argument: false + added: 0 + "4dfcffeb-879c-49b2-83bb-c16254a7ce75": + id: "4dfcffeb-879c-49b2-83bb-c16254a7ce75" + name: "GoLink" + keyword: "go" + cmd: "http://go/%s" + icon: null + is_default_search: false + run_without_argument: false + added: 0 + "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1": + id: "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1" + name: "NixOS" + keyword: "nix" + cmd: "https://search.nixos.org/packages?query=%s" + icon: null + is_default_search: false + run_without_argument: false + added: 0 + "40d1ed32-8fd3-4ff4-92f6-fbaa7cd607a1": + id: "42d1ed42-8dd3-2bf8-92f5-cbaa7cd607a1" + name: "Flathub" + keyword: "flat" + cmd: "https://flathub.org/apps/search?q=%s" + icon: null + is_default_search: false + run_without_argument: false + added: 0 + "43d1ed32-8fd3-fbf8-94f5-cffa7cd607a1": + id: "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1" + name: "GitHub" + keyword: "gh" + cmd: "https://github.com/search?q=%s" + icon: null + is_default_search: false + run_without_argument: false + added: 0 diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index 4954772..2fff9ee 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -4,6 +4,9 @@ - name: Include flatpaks tasks ansible.builtin.import_tasks: tasks/workstations/flatpaks.yml +- name: Include snaps tasks + ansible.builtin.import_tasks: tasks/workstations/snaps.yml + - name: Include VSCode tasks ansible.builtin.import_tasks: tasks/workstations/vscode.yml become: true @@ -12,30 +15,16 @@ ansible.builtin.import_tasks: tasks/workstations/brave.yml become: true +- name: Include Zen browser tasks + ansible.builtin.import_tasks: tasks/workstations/zen-browser.yml + +- name: Include Ulauncher tasks + ansible.builtin.import_tasks: tasks/workstations/ulauncher.yml + - name: Include 1Password tasks ansible.builtin.import_tasks: tasks/workstations/1password.yml become: true -- name: Check if distro is Fedora (Workstation) - ansible.builtin.command: cat /etc/os-release - register: os_release - changed_when: false - failed_when: false - -- name: Ensure desktop environment is installed - # dnf install switchdesk switchdesk-gui - # and - # dnf install @deepin-desktop-environment - # are required for Deepin Desktop Environment - ansible.builtin.package: - name: - - switchdesk - - switchdesk-gui - - "@deepin-desktop-environment" - state: present - when: os_release.stdout.find('Fedora Linux') != -1 - become: true - - name: Ensure common packages are installed ansible.builtin.package: name: diff --git a/config/ansible/tasks/workstations/zen-browser.yml b/config/ansible/tasks/workstations/zen-browser.yml new file mode 100644 index 0000000..7dbb8f8 --- /dev/null +++ b/config/ansible/tasks/workstations/zen-browser.yml @@ -0,0 +1,14 @@ +- name: Check if Zen browser is installed + stat: + path: ~/.local/share/AppImage/ZenBrowser.AppImage + register: zen_browser_installed + +- name: Install Zen browser + ansible.builtin.command: > + echo "1" | bash <(curl https://updates.zen-browser.app/appimage.sh) + when: not zen_browser_installed.stat.exists + +- name: Update Zen browser + ansible.builtin.command: > + echo "3" | bash <(curl https://updates.zen-browser.app/appimage.sh) + when: zen_browser_installed.stat.exists diff --git a/config/home-manager/flake.lock b/config/home-manager/flake.lock index 5c708d3..22093b5 100644 --- a/config/home-manager/flake.lock +++ b/config/home-manager/flake.lock @@ -23,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740743217, - "narHash": "sha256-brsCRzLqimpyhORma84c3W2xPbIidZlIc3JGIuQVSNI=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b27ba4eb322d9d2bf2dc9ada9fd59442f50c8d7c", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1740695751, - "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { diff --git a/config/home-manager/packages/workstation/default.nix b/config/home-manager/packages/workstation/default.nix index e8b7ac8..cfd917e 100644 --- a/config/home-manager/packages/workstation/default.nix +++ b/config/home-manager/packages/workstation/default.nix @@ -4,6 +4,7 @@ let files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" "brave-search-engines.sh" + "ulauncher.nix" # Disabled, since we switched to ansible for this ]; # Import all other .nix files as modules diff --git a/config/home-manager/packages/workstation/ulauncher.nix b/config/home-manager/packages/workstation/ulauncher.nix deleted file mode 100644 index f87ed49..0000000 --- a/config/home-manager/packages/workstation/ulauncher.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: - -let - # Initial configuration files - settingsJson = builtins.toJSON { - blacklisted-desktop-dirs = "/usr/share/locale:/usr/share/app-install:/usr/share/kservices5:/usr/share/fk5:/usr/share/kservicetypes5:/usr/share/applications/screensavers:/usr/share/kde4:/usr/share/mimelnk"; - clear-previous-query = true; - disable-desktop-filters = false; - grab-mouse-pointer = false; - hotkey-show-app = "Space"; - render-on-screen = "mouse-pointer-monitor"; - show-indicator-icon = true; - show-recent-apps = "4"; - terminal-command = "ptyxis"; - theme-name = "dark"; - }; - - shortcutsJson = builtins.toJSON { - "0bab9d26-5464-4501-bc95-9995d8fa1405" = { - "id" = "0bab9d26-5464-4501-bc95-9995d8fa1405"; - "name" = "Google Search"; - "keyword" = "g"; - "cmd" = "https://google.com/search?q=%s"; - "icon" = - "/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/google-search-icon.png"; - "is_default_search" = true; - "run_without_argument" = false; - "added" = 0; - }; - "d72834d1-5d81-4f5d-a9f6-386b12110f56" = { - "id" = "d72834d1-5d81-4f5d-a9f6-386b12110f56"; - "name" = "Stack Overflow"; - "keyword" = "so"; - "cmd" = "https://stackoverflow.com/search?q=%s"; - "icon" = - "/nix/store/ifh4wl3j3cv7f6b5rdzqcnhw5sa27pg9-ulauncher-5.15.7/share/ulauncher/media/stackoverflow-icon.svg"; - "is_default_search" = true; - "run_without_argument" = false; - "added" = 0; - }; - "4dfcffeb-879c-49b2-83bb-c16254a7ce75" = { - "id" = "4dfcffeb-879c-49b2-83bb-c16254a7ce75"; - "name" = "GoLink"; - "keyword" = "go"; - "cmd" = "http://go/%s"; - "icon" = null; - "is_default_search" = false; - "run_without_argument" = false; - "added" = 0; - }; - "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1" = { - "id" = "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1"; - "name" = "NixOS"; - "keyword" = "nix"; - "cmd" = "https://search.nixos.org/packages?query=%s"; - "icon" = null; - "is_default_search" = false; - "run_without_argument" = false; - "added" = 0; - }; - "40d1ed32-8fd3-4ff4-92f6-fbaa7cd607a1" = { - "id" = "42d1ed42-8dd3-2bf8-92f5-cbaa7cd607a1"; - "name" = "Flathub"; - "keyword" = "flat"; - "cmd" = "https://flathub.org/apps/search?q=%s"; - "icon" = null; - "is_default_search" = false; - "run_without_argument" = false; - "added" = 0; - }; - "43d1ed32-8fd3-fbf8-94f5-cffa7cd607a1" = { - "id" = "40d1ed32-8fd3-4bf8-92f5-cbaa7cd607a1"; - "name" = "GitHub"; - "keyword" = "gh"; - "cmd" = "https://github.com/search?q=%s"; - "icon" = null; - "is_default_search" = false; - "run_without_argument" = false; - "added" = 0; - }; - }; - - # Create a Python environment with all required packages - pythonWithPackages = pkgs.python3.withPackages ( - ps: with ps; [ - pytz - thefuzz - tornado - docker - requests - pint - simpleeval - parsedatetime - fuzzywuzzy - ] - ); - - # Desktop file content with GDK_BACKEND=x11 - desktopEntry = '' - [Desktop Entry] - Name=Ulauncher - Comment=Application launcher for Linux - Categories=GNOME;Utility; - Exec=env GDK_BACKEND=x11 ${config.home.homeDirectory}/.local/bin/ulauncher-wrapped - Icon=ulauncher - Terminal=false - Type=Application - ''; - -in - -# Extensions -# https://github.com/friday/ulauncher-gnome-settings -# https://ext.ulauncher.io/-/github-ulauncher-ulauncher-emoji -# https://ext.ulauncher.io/-/github-tchar-ulauncher-albert-calculate-anything -# https://ext.ulauncher.io/-/github-isacikgoz-ukill -# https://ext.ulauncher.io/-/github-iboyperson-ulauncher-system -# https://github.com/IgorVaryvoda/ulauncher-perplexity -{ - nixpkgs.overlays = [ - (final: prev: { ulauncher = prev.ulauncher.override { python3 = pythonWithPackages; }; }) - ]; - - home.packages = with pkgs; [ - ulauncher - pythonWithPackages # Make Python environment available system-wide - ]; - - # Create a wrapper script to set PYTHONPATH and GDK_BACKEND=x11 - home.file.".local/bin/ulauncher-wrapped" = { - executable = true; - text = '' - #!${pkgs.bash}/bin/bash - export GDK_BACKEND=x11 - export PYTHONPATH="${pythonWithPackages}/${pythonWithPackages.sitePackages}:$PYTHONPATH" - exec ${pkgs.ulauncher}/bin/ulauncher "$@" - ''; - }; - - # Update both desktop files - xdg.configFile."autostart/ulauncher.desktop".text = desktopEntry; - xdg.dataFile."applications/ulauncher.desktop".text = desktopEntry; - - # Enable autostart for Ulauncher - xdg.configFile."autostart/ulauncher.desktop".source = - "${pkgs.ulauncher}/share/applications/ulauncher.desktop"; - - # Overwrite ulauncher settings and shortcuts - home.activation.ulauncher-config = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - config_dir="$HOME/.config/ulauncher" - mkdir -p "$config_dir" - - rm -f "$config_dir/settings.json" - echo '${settingsJson}' > "$config_dir/settings.json" - rm -f "$config_dir/shortcuts.json" - echo '${shortcutsJson}' > "$config_dir/shortcuts.json" - ''; -} diff --git a/config/home-manager/workstation/dconf.nix b/config/home-manager/workstation/dconf.nix index 24440bb..12635af 100644 --- a/config/home-manager/workstation/dconf.nix +++ b/config/home-manager/workstation/dconf.nix @@ -51,11 +51,12 @@ # add more by listing them with `dconf read /org/gnome/shell/favorite-apps | sed "s/,//g; s/'/\"/g"` then copy pasting the output here "org/gnome/shell" = { favorite-apps = [ - "app.zen_browser.zen.desktop" + "ZenBrowser.desktop" + "org.gnome.Nautilus.desktop" "com.spotify.Client.desktop" + "vesktop.desktop" "FFPWA-01JN0Y8Z6KR644ZG4CV0QAYPRF.desktop" "FFPWA-01JN0YCBNR29VRW8GN5YBZSQ7W.desktop" - "vesktop.desktop" "FFPWA-01JN13AEFTM76WVC6TSBYC5AXN.desktop" "code.desktop" "org.gnome.Ptyxis.desktop" diff --git a/config/home-manager/workstation/default-apps.nix b/config/home-manager/workstation/default-apps.nix index 98a7c13..3a731c6 100644 --- a/config/home-manager/workstation/default-apps.nix +++ b/config/home-manager/workstation/default-apps.nix @@ -5,10 +5,10 @@ enable = true; defaultApplications = { # Brave Browser - "application/xhtml+xml" = [ "app.zen_browser.zen.desktop" ]; - "text/html" = [ "app.zen_browser.zen.desktop" ]; - "x-scheme-handler/http" = [ "app.zen_browser.zen.desktop" ]; - "x-scheme-handler/https" = [ "app.zen_browser.zen.desktop" ]; + "application/xhtml+xml" = [ "ZenBrowser.desktop" ]; + "text/html" = [ "ZenBrowser.desktop" ]; + "x-scheme-handler/http" = [ "ZenBrowser.desktop" ]; + "x-scheme-handler/https" = [ "ZenBrowser.desktop" ]; # Geary "x-scheme-handler/mailto" = [ "org.gnome.Geary.desktop" ]; diff --git a/config/home-manager/workstation/gnome-extensions.nix b/config/home-manager/workstation/gnome-extensions.nix index db57b9c..2aeafd9 100644 --- a/config/home-manager/workstation/gnome-extensions.nix +++ b/config/home-manager/workstation/gnome-extensions.nix @@ -190,9 +190,21 @@ { "id": "Landscape Laptop", "tiles": [ - { "x": 0, "y": 0, "width": 0.33, "height": 0.5, "groups": [1, 2] }, - { "x": 0.33, "y": 0, "width": 0.67, "height": 1, "groups": [1] }, - { "x": 0, "y": 0.5, "width": 0.33, "height": 0.5, "groups": [2, 1] } + { "x": 0, "y": 0, "width": 0.5, "height": 0.5, "groups": [1, 2] }, + { + "x": 0.5, + "y": 0, + "width": 0.5, + "height": 1, + "groups": [1] + }, + { + "x": 0, + "y": 0.5, + "width": 0.5, + "height": 0.5, + "groups": [2, 1] + } ] }, { diff --git a/vscode/settings.json b/vscode/settings.json index 84a05a2..df7eb7b 100755 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -62,5 +62,7 @@ "go.toolsManagement.autoUpdate": true, "redhat.telemetry.enabled": false, "makefile.configureOnOpen": false, - "workbench.colorTheme": "Default Light+" + "workbench.colorTheme": "Default Light+", + "geminicodeassist.project": "", + "cloudcode.duetAI.project": "" } \ No newline at end of file