diff --git a/.config/autostart/localsend.desktop b/.config/autostart/localsend.desktop new file mode 100644 index 0000000..884e3ae --- /dev/null +++ b/.config/autostart/localsend.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Icon=localsend +Name=LocalSend +Exec=/usr/bin/localsend autostart +Comment=An open source cross-platform alternative to AirDrop. +Categories=Utility;Network; diff --git a/.config/autostart/remmina-applet.desktop b/.config/autostart/remmina-applet.desktop new file mode 100644 index 0000000..61222e9 --- /dev/null +++ b/.config/autostart/remmina-applet.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=Remmina Applet +Comment=Connect to remote desktops through the applet menu +Icon=org.remmina.Remmina +Exec=remmina -i +Terminal=false +Type=Application +Hidden=false diff --git a/.config/autostart/seafile.desktop b/.config/autostart/seafile.desktop new file mode 100644 index 0000000..0a47bd9 --- /dev/null +++ b/.config/autostart/seafile.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Seafile +Comment=Seafile desktop sync client +TryExec=seafile-applet +Exec=seafile-applet +Icon=seafile +Type=Application +Categories=Network;FileTransfer; diff --git a/.dconf/Forge.dconf b/.dconf/Forge.dconf new file mode 100644 index 0000000..2f755c6 --- /dev/null +++ b/.dconf/Forge.dconf @@ -0,0 +1,40 @@ +[/] +con-split-horizontal=['z'] +con-split-layout-toggle=['g'] +con-split-vertical=['v'] +con-stacked-layout-toggle=['s'] +con-tabbed-layout-toggle=['t'] +con-tabbed-showtab-decoration-toggle=['y'] +focus-border-toggle=['x'] +prefs-tiling-toggle=['w'] +window-focus-down=['Down'] +window-focus-left=['Left'] +window-focus-right=['Right'] +window-focus-up=['Up'] +window-gap-size-decrease=@as [] +window-gap-size-increase=@as [] +window-move-down=['Down'] +window-move-left=['Left'] +window-move-right=['Right'] +window-move-up=['Up'] +window-resize-bottom-decrease=['i'] +window-resize-bottom-increase=['u'] +window-resize-left-decrease=['o'] +window-resize-left-increase=['y'] +window-resize-right-decrease=['y'] +window-resize-right-increase=['o'] +window-resize-top-decrease=['u'] +window-resize-top-increase=['i'] +window-snap-center=['c'] +window-snap-one-third-left=['d'] +window-snap-one-third-right=['g'] +window-snap-two-third-left=['e'] +window-snap-two-third-right=['t'] +window-swap-down=['j'] +window-swap-last-active=['Return'] +window-swap-left=['h'] +window-swap-right=['l'] +window-swap-up=['k'] +window-toggle-always-float=['c'] +window-toggle-float=['c'] +workspace-active-tile-toggle=['w'] \ No newline at end of file diff --git a/.dconf/MediaKeys.dconf b/.dconf/MediaKeys.dconf new file mode 100644 index 0000000..5567615 --- /dev/null +++ b/.dconf/MediaKeys.dconf @@ -0,0 +1,7 @@ +[/] +custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/'] + +[custom-keybindings/custom0] +binding='Print' +command='/opt/flameshot.sh' +name='Flameshot' diff --git a/.dconf/Mutter.dconf b/.dconf/Mutter.dconf new file mode 100644 index 0000000..12527fe --- /dev/null +++ b/.dconf/Mutter.dconf @@ -0,0 +1,3 @@ +[/] +toggle-tiled-left=@as [] +toggle-tiled-right=@as [] diff --git a/.dconf/MutterWayland.dconf b/.dconf/MutterWayland.dconf new file mode 100644 index 0000000..e69de29 diff --git a/.dconf/Shell.dconf b/.dconf/Shell.dconf new file mode 100644 index 0000000..3ef5f8c --- /dev/null +++ b/.dconf/Shell.dconf @@ -0,0 +1,2 @@ +[/] +show-screenshot-ui=@as [] diff --git a/.dconf/Tilix.dconf b/.dconf/Tilix.dconf new file mode 100644 index 0000000..962f008 --- /dev/null +++ b/.dconf/Tilix.dconf @@ -0,0 +1,22 @@ +[/] +copy-on-select=true +prompt-on-close=true +terminal-title-show-when-single=false +terminal-title-style='small' +use-tabs=true +window-style='normal' + +[profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d] +background-transparency-percent=0 +backspace-binding='ascii-delete' +cursor-blink-mode='on' +cursor-shape='underline' +default-size-columns=120 +delete-binding='auto' +dim-transparency-percent=0 +draw-margin=120 +font='MesloLGM Nerd Font 12' +terminal-bell='icon' +text-blink-mode='unfocused' +use-system-font=false +visible-name='Default' \ No newline at end of file diff --git a/.dconf/WindowManager.dconf b/.dconf/WindowManager.dconf new file mode 100644 index 0000000..67531be --- /dev/null +++ b/.dconf/WindowManager.dconf @@ -0,0 +1,18 @@ +[/] +maximize=@as [] +minimize=@as [] +move-to-monitor-down=@as [] +move-to-monitor-left=['Page_Up'] +move-to-monitor-right=['Page_Down'] +move-to-monitor-up=@as [] +move-to-workspace-left=['Left'] +move-to-workspace-right=['Right'] +switch-applications=['Tab'] +switch-applications-backward=['Tab'] +switch-group=['plus'] +switch-group-backward=['plus'] +switch-to-workspace-left=['Left'] +switch-to-workspace-right=['Right'] +switch-windows=['Tab'] +switch-windows-backward=['Tab'] +unmaximize=@as [] diff --git a/.scripts/findmtu.sh b/.scripts/findmtu.sh new file mode 100755 index 0000000..bf5b672 --- /dev/null +++ b/.scripts/findmtu.sh @@ -0,0 +1,15 @@ +#!/bin/bash +destination_ip="${1:-1.1.1.1}" + +# Set initial packet size +packet_size=1200 + +# Loop to find the maximum MTU size +while true; do + ping -4 -M do -c 1 -s $packet_size $destination_ip &> /dev/null + if [ $? -ne 0 ]; then + echo "Maximum MTU size: $((packet_size + 28 - 2))" + break + fi + packet_size=$((packet_size + 2)) +done \ No newline at end of file diff --git a/.scripts/flameshot.sh b/.scripts/flameshot.sh new file mode 100755 index 0000000..5b33336 --- /dev/null +++ b/.scripts/flameshot.sh @@ -0,0 +1,2 @@ +#!/bin/bash +flameshot gui \ No newline at end of file diff --git a/README.md b/README.md index b02b36d..9dec083 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,29 @@ Bootstrap the dotfiles: ```shell ansible-playbook --ask-become-pass bootstrap.yml -``` \ No newline at end of file +``` + + +## Exporting current configurations + +Gnome/DCONF: + +```shell +dconf dump /com/gexperts/Tilix/ > .dconf/Tilix.dconf +dconf dump /org/gnome/settings-daemon/plugins/media-keys/ > .dconf/MediaKeys.dconf +dconf dump /org/gnome/desktop/wm/keybindings/ > .dconf/WindowManager.dconf +dconf dump /org/gnome/shell/keybindings/ > .dconf/Shell.dconf +dconf dump /org/gnome/mutter/keybindings/ > .dconf/Mutter.dconf +dconf dump /org/gnome/mutter/wayland/keybindings/ > .dconf/MutterWayland.dconf +dconf dump /org/gnome/shell/extensions/forge/keybindings/ > .dconf/Forge.dconf +``` + +## Gnome Extensions + + - Caffeine (caffeine@patapon.info) + - Blur my Shell (blur-my-shell@aunetx) + - Forge (forge@jmmaranan.com) + - Hot Edge (hotedge@jonathan.jdoda.ca) + - Alphabetical App Grid (AlphabeticalAppGrid@stuarthayhurst) + - Reorder Workspaces (reorder-workspaces@jer.dev) + - Pano Clipboard Manager (pano@elhan.io) \ No newline at end of file diff --git a/bootstrap.yml b/bootstrap.yml index 9f775a1..a8f541c 100644 --- a/bootstrap.yml +++ b/bootstrap.yml @@ -1,6 +1,14 @@ - name: Bootstrap dotfile and depencies hosts: localhost + vars: + dconf_tilix: "{{ lookup('file', '.dconf/Tilix.dconf') }}" + dconf_gnome_mk: "{{ lookup('file', '.dconf/MediaKeys.dconf') }}" + dconf_gnome_mutter: "{{ lookup('file', '.dconf/Mutter.dconf') }}" + dconf_gnome_mutter_w: "{{ lookup('file', '.dconf/MutterWayland.dconf') }}" + dconf_gnome_shell: "{{ lookup('file', '.dconf/Shell.dconf') }}" + dconf_gnome_wm: "{{ lookup('file', '.dconf/WindowManager.dconf') }}" + dconf_gnome_forge: "{{ lookup('file', '.dconf/Forge.dconf') }}" tasks: - name: Full system upgrade become: true @@ -32,6 +40,7 @@ - zsh - vim - ttf-meslo-nerd + - tilix - name: Check install packages (for later use with yay) ansible.builtin.command: pacman -Qm register: installed_packages @@ -43,7 +52,7 @@ - find-the-command - oh-my-posh - archey4 - - tabby-bin + - find-the-command - name: Install oh-my-posh config copy: src: "{{playbook_dir}}/.ohmyposh/" @@ -71,12 +80,41 @@ copy: src: "{{playbook_dir}}/.zshrc" dest: /root/.zshrc - - name: Create tabby config directory if it does not exist - ansible.builtin.file: - path: ~/.config/tabby/ - state: directory - mode: '0755' - - name: Install tabby config + - name: Reset tilix config + community.general.dconf: + key: "/com/gexperts/Tilix" + state: absent + - name: Import tilix config + ansible.builtin.command: "dconf load /com/gexperts/Tilix/" + args: + stdin: "{{dconf_tilix}}" + - name: Install fancy helper scripts + become: true copy: - src: "{{playbook_dir}}/.config/tabby/config.yaml" - dest: ~/.config/tabby/config.yaml \ No newline at end of file + src: "{{playbook_dir}}/.scripts/" + dest: /opt + mode: '0755' + - name: Import Gnome MediaKey Shortcuts + ansible.builtin.command: "dconf load /org/gnome/settings-daemon/plugins/media-keys/" + args: + stdin: "{{dconf_gnome_mk}}" + - name: Import Gnome Mutter Shortcuts + ansible.builtin.command: "dconf load /org/gnome/mutter/keybindings/" + args: + stdin: "{{dconf_gnome_mutter}}" + - name: Import Gnome Mutter Wayland Shortcuts + ansible.builtin.command: "dconf load /org/gnome/mutter/wayland/keybindings/" + args: + stdin: "{{dconf_gnome_mutter_w}}" + - name: Import Gnome Shell Shortcuts + ansible.builtin.command: "dconf load /org/gnome/shell/keybindings/" + args: + stdin: "{{dconf_gnome_shell}}" + - name: Import Gnome Window Manager Shortcuts + ansible.builtin.command: "dconf load /org/gnome/desktop/wm/keybindings/" + args: + stdin: "{{dconf_gnome_wm}}" + - name: Import Gnome Extension Forge + ansible.builtin.command: "dconf load /org/gnome/shell/extensions/forge/keybindings/" + args: + stdin: "{{dconf_gnome_forge}}" \ No newline at end of file