diff --git a/.local/bin/initial-setup b/.local/bin/initial-setup index 9ff5d737..c6e8f43c 100755 --- a/.local/bin/initial-setup +++ b/.local/bin/initial-setup @@ -6,7 +6,7 @@ echo -e "Starting initial setup for Fedora..." sudo dnf -y update && sudo dnf install -y ansible # Goto playbook and run it -cd ../.dotfiles/provision +cd ~/.dotfiles/provision ansible-playbook setup.yml -i hosts --ask-become-pass # Return to where you were diff --git a/.local/bin/update b/.local/bin/update index 8fa48ad8..5546efad 100755 --- a/.local/bin/update +++ b/.local/bin/update @@ -4,10 +4,10 @@ set -e echo -e "Starting update for Fedora..." # Goto playbook and run it -cd ../.dotfiles/provision +cd ~/.dotfiles/provision # Install ansible and run playbook -ansible-playbook setup.yml -i hosts --ask-become-pass --tags "$1" +ansible-playbook setup.yml -i hosts --ask-become-pass --tags "$1" --skip-tags "once" # Return to where you were cd - diff --git a/.stow-local-ignore b/.stow-local-ignore index 5e4ace09..2490db0d 100644 --- a/.stow-local-ignore +++ b/.stow-local-ignore @@ -1,4 +1,4 @@ -\.git -\provision -.gitignore readme.md +.gitignore +.git +provision diff --git a/provision/readme.md b/provision/readme.md index 9808f5b7..27040326 100644 --- a/provision/readme.md +++ b/provision/readme.md @@ -6,4 +6,5 @@ - configs - updates - packages -- services \ No newline at end of file +- services +- once \ No newline at end of file diff --git a/provision/setup.yml b/provision/setup.yml index 9766234c..27a04f7a 100644 --- a/provision/setup.yml +++ b/provision/setup.yml @@ -35,8 +35,10 @@ # become: true tasks: + # This import MUST be first + - import_tasks: tasks/system/_main.yml - import_tasks: tasks/terminal/_main.yml - import_tasks: tasks/development/_main.yml - import_tasks: tasks/desktop/_main.yml - # This import MUST be last - - import_tasks: tasks/system/_main.yml \ No newline at end of file + - import_tasks: tasks/gaming/_main.yml + diff --git a/provision/tasks/desktop/_main.yml b/provision/tasks/desktop/_main.yml index 3ee4a789..ed4c5653 100644 --- a/provision/tasks/desktop/_main.yml +++ b/provision/tasks/desktop/_main.yml @@ -1,4 +1,8 @@ - import_tasks: configs.yml tags: ["configs"] - import_tasks: packages.yml - tags: ["packages"] \ No newline at end of file + tags: ["packages"] +- import_tasks: gnome-settings/keybinds.yml + tags: ["configs"] +- import_tasks: gnome-settings/window-management.yml + tags: ["configs"] \ No newline at end of file diff --git a/provision/tasks/desktop/configs.yml b/provision/tasks/desktop/configs.yml index b741347f..c243c9ca 100644 --- a/provision/tasks/desktop/configs.yml +++ b/provision/tasks/desktop/configs.yml @@ -6,11 +6,22 @@ - rhytmbox - cheese - totem + - gnome-maps + - gnome-characters + - gnome-connections + - libreoffice + - libreoffice-writer + - libreoffice-impress + - libreoffice-calc + - rhythmbox + - gnome-tour + - yelp state: absent when: desktop == "gnome" become: true - name: Add brave repo + tags: ["once"] yum_repository: name: brave description: Brave Browser diff --git a/provision/tasks/desktop/gnome-settings/keybinds.yml b/provision/tasks/desktop/gnome-settings/keybinds.yml new file mode 100644 index 00000000..fc783c7d --- /dev/null +++ b/provision/tasks/desktop/gnome-settings/keybinds.yml @@ -0,0 +1,33 @@ +- name: Change gnome specific keybinds + dconf: + key: "{{ item.key }}" + value: "{{ item.value }}" + state: present + with_items: + - {key: "/org/gnome/shell/keybindings/switch-to-application-1", value: [""]} + - {key: "/org/gnome/shell/keybindings/switch-to-application-2", value: [""]} + - {key: "/org/gnome/shell/keybindings/switch-to-application-3", value: [""]} + - {key: "/org/gnome/shell/keybindings/switch-to-application-4", value: [""]} + - {key: "/org/gnome/shell/keybindings/switch-to-application-5", value: [""]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-input-source", value: [""]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-input-source-backwards", value: [""]} + + - {key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-1", value: ["1"]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-2", value: ["2"]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-3", value: ["3"]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-4", value: ["4"]} + - {key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-5", value: ["5"]} + + - {key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-1", value: ["1"]} + - {key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-2", value: ["2"]} + - {key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-3", value: ["3"]} + - {key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-4", value: ["4"]} + - {key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-5", value: ["5"]} + + - {key: "/org/gnome/desktop/wm/keybindings/minimize", value: [""]} + - {key: "/org/gnome/desktop/wm/keybindings/toggle-fullscreen", value: ["F"]} + - {key: "/org/gnome/desktop/wm/keybindings/close", value: ["Q"]} + + # - {key: "/org/gnome/desktop/wm/keybindings/maximize-horizontally", value: ["H"]} + # - {key: "/org/gnome/desktop/wm/keybindings/maximize-vertically", value: ["V"]} + # - {key: "/org/gnome/desktop/wm/keybindings/move-to-center", value: ["C"]} \ No newline at end of file diff --git a/provision/tasks/desktop/gnome-settings/window-management.yml b/provision/tasks/desktop/gnome-settings/window-management.yml new file mode 100644 index 00000000..29800bdb --- /dev/null +++ b/provision/tasks/desktop/gnome-settings/window-management.yml @@ -0,0 +1,10 @@ + +- name: Set Static workspaces + dconf: + key: "/org/gnome/mutter/dynamic-workspaces" + value: "false" + +- name: Set Number of workspaces + dconf: + key: "/org/gnome/desktop/wm/preferences/num-workspaces" + value: "5" \ No newline at end of file diff --git a/provision/tasks/desktop/packages.yml b/provision/tasks/desktop/packages.yml index 0526b668..63b66e3b 100644 --- a/provision/tasks/desktop/packages.yml +++ b/provision/tasks/desktop/packages.yml @@ -6,6 +6,12 @@ state: present become: true + - name: Install dconf editor + dnf: + name: dconf-editor + state: present + become: true + - name: Install gnome extensions manager flatpak: name: com.mattjakeman.ExtensionManager diff --git a/provision/tasks/development/configs.yml b/provision/tasks/development/configs.yml index 7fa14ef0..7305714e 100644 --- a/provision/tasks/development/configs.yml +++ b/provision/tasks/development/configs.yml @@ -1,4 +1,5 @@ - name: Add vscode repo + tags: ["once"] yum_repository: name: vscode description: Visual Studio Code diff --git a/provision/tasks/gaming/_main.yml b/provision/tasks/gaming/_main.yml index 1d3d844b..9c7cb124 100644 --- a/provision/tasks/gaming/_main.yml +++ b/provision/tasks/gaming/_main.yml @@ -1 +1,2 @@ -#- import_tasks: vifm.yml +- import_tasks: packages.yml + tags: ["packages"] \ No newline at end of file diff --git a/provision/tasks/system/configs.yml b/provision/tasks/system/configs.yml index c1aca74a..8bd36409 100644 --- a/provision/tasks/system/configs.yml +++ b/provision/tasks/system/configs.yml @@ -1,14 +1,26 @@ -- name: install the rpmfusion repo packages - dnf: - name: - - http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ ansible_distribution_version }}.noarch.rpm - - http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ ansible_distribution_version }}.noarch.rpm - state: present +- name: Install rpm fusion repo (free and non-free) + tags: ["once"] + block: + - name: Importing (free) key + ansible.builtin.rpm_key: + state: present + key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020 + + - name: Importing (non-free) key + ansible.builtin.rpm_key: + state: present + key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020 + + - name: install the rpmfusion repo packages + dnf: + name: + - http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ ansible_distribution_major_version }}.noarch.rpm + - http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ ansible_distribution_major_version }}.noarch.rpm + state: present + + - name: Add the flathub flatpak repository remote + flatpak_remote: + name: flathub + state: present + flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo become: true - -- name: Add the flathub flatpak repository remote - flatpak_remote: - name: flathub - state: present - flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo - become: true \ No newline at end of file diff --git a/provision/tasks/system/packages.yml b/provision/tasks/system/packages.yml index 00c7ae43..c21d2487 100644 --- a/provision/tasks/system/packages.yml +++ b/provision/tasks/system/packages.yml @@ -1,3 +1,11 @@ +- name: Install base system packages + dnf: + name: + - "git" + - "python-psutil" + state: present + become: true + - name: Install proprietary nvidia drivers dnf: name: "akmod-nvidia" diff --git a/provision/tasks/system/services.yml b/provision/tasks/system/services.yml index 08b402c3..db0cb9e9 100644 --- a/provision/tasks/system/services.yml +++ b/provision/tasks/system/services.yml @@ -1,5 +1,8 @@ - name: Make sure syncthing is enabled ansible.builtin.shell: systemctl enable syncthing@{{ user }} + become: true - name: Make sure syncthing is started - ansible.builtin.shell: systemctl start syncthing@{{ user }} \ No newline at end of file + ansible.builtin.shell: systemctl start syncthing@{{ user }} + become: true + diff --git a/readme.md b/readme.md index 00814f1f..c3797751 100644 --- a/readme.md +++ b/readme.md @@ -5,13 +5,14 @@ My personal dotfiles repo. Documentation is pretty spotty. Maybe I'll fix that s ## usage -The dotfiles are managed with stow and otherwise Ansible sets everything up. The Anisible scripts are built for Fedora. +The dotfiles are managed with stow and otherwise Ansible sets everything up. The Anisible scripts are built for Fedora Workstation. ### initial setup ```bash sudo dnf install -y git stow -https://github.com/starr-dusT/dotfiles ~/.dotfiles +git clone https://github.com/starr-dusT/dotfiles ~/.dotfiles +rm ~/.bashrc cd ~/.dotfiles && stow . bash initial-setup @@ -22,3 +23,13 @@ initial-setup ```bash update {tags to update seperated with commas} ``` + +## random notes + +Random notes about things to change on a new system: + +- Brave browser plays better in Gnome with hardware acceleration turned off + +## TODO + +- Add sxhkd for non-gnome keybinds \ No newline at end of file