Compare commits

...

14 commits

Author SHA1 Message Date
ProgramSnail
4293f662e7 quickshell installs fix 2025-08-22 20:02:47 +03:00
ProgramSnail
28a5aa09af quickshell installs fix 2025-08-22 20:01:21 +03:00
ProgramSnail
646b6508eb quickshell installs fix 2025-08-22 19:59:02 +03:00
ProgramSnail
14f7bf69be quickshell play fix 2025-08-22 19:54:15 +03:00
ProgramSnail
ce3dad5b22 quickshell pkg name fix 2025-08-22 19:52:03 +03:00
ProgramSnail
758f19c61e quickshell copr root fix 2025-08-22 19:49:05 +03:00
ProgramSnail
1a0e99f8f6 extend qt packages list 2025-08-22 19:46:24 +03:00
ProgramSnail
68ecd7ab03 commit empty folders with empty files 2025-08-22 19:06:19 +03:00
ProgramSnail
525f2fa554 fix new dotfiles plays assignments 2025-08-22 18:37:07 +03:00
ProgramSnail
eac77aca5a fix vars in manual playbook 2025-08-22 18:28:04 +03:00
ProgramSnail
710ac7e69a lint: fixes 2025-08-22 18:26:22 +03:00
ProgramSnail
30142464c5 playbook for manual packages groups installation 2025-08-22 18:21:33 +03:00
ProgramSnail
1947c8e0e4 dotfiles basic config for quickshell and wms 2025-08-22 14:52:32 +03:00
ProgramSnail
2eb5a886f8 qt, quickshell, wms 2025-08-22 14:35:39 +03:00
19 changed files with 195 additions and 11 deletions

View file

@ -13,7 +13,7 @@
- cli
vars_prompt:
- name: tools_in
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle, gamedev)"
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle, gamedev, qt)"
private: false
pre_tasks:
- name: Get tools list

30
playbooks/manual.yml Normal file
View file

@ -0,0 +1,30 @@
- name: Configure system manually
hosts: localhost
connection: local
vars_prompt:
- name: configure_in
prompt: "Specify comma separated list of required dotfile packages (bash, scripts, cli, git, ssh, gui, de, quickshell, wm)"
private: false
- name: apps_in
prompt: "Specify comma separated list of required installation packages (ansible, cli, gui, host, proxy, wm, quickshell)"
private: false
- name: tools_in
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle, gamedev, qt)"
private: false
pre_tasks:
- name: Get configuration list
ansible.builtin.set_fact:
configure: "{{ configure_in.split(',') }}"
- name: Get apps list
ansible.builtin.set_fact:
apps: "{{ apps_in.split(',') }}"
- name: Get tools list
ansible.builtin.set_fact:
tools: "{{ tools_in.split(',') }}"
roles:
# install apps
- role: installs
# link and copy dotfiles
- role: dotfiles
# install and setup dev tools
- role: dev

View file

@ -1,3 +1,6 @@
- name: Installing opengl libs
ansible.builtin.import_tasks: opengl.yml
- name: Getting programs list to check fish presence
ansible.builtin.package_facts:
manager: auto
@ -7,12 +10,6 @@
become: true
ansible.builtin.dnf5:
name:
- glew-devel
- SDL2-devel
- SDL2_image-devel
- glm-devel
- freetype-devel
- mesa-libGLU
- openal-soft
- java-21-openjdk
state: latest
@ -55,7 +52,8 @@
become: true
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/LuaLS/lua-language-server/releases/download/{{ lua_lsp_version.tag }}/lua-language-server-{{ lua_lsp_version.tag }}-linux-x64.tar.gz"
src:
"https://github.com/LuaLS/lua-language-server/releases/download/{{ lua_lsp_version.tag }}/lua-language-server-{{ lua_lsp_version.tag }}-linux-x64.tar.gz"
dest: "{{ ansible_env.HOME }}/.lua_lsp"
keep_newer: true
mode: a

View file

@ -33,6 +33,14 @@
ansible.builtin.import_tasks: truffle.yml
when: "'truffle' in tools"
# - name: Truffle development environment
# ansible.builtin.import_tasks: opengl.yml
# when: "'opengl' in tools"
- name: Truffle development environment
ansible.builtin.import_tasks: gamedev.yml
when: "'gamedev' in tools"
- name: Truffle development environment
ansible.builtin.import_tasks: qt.yml
when: "'qt' in tools"

View file

@ -0,0 +1,11 @@
- name: Installing opengl libs
become: true
ansible.builtin.dnf5:
name:
- glew-devel
- SDL2-devel
- SDL2_image-devel
- glm-devel
- freetype-devel
- mesa-libGLU
state: latest

26
roles/dev/tasks/qt.yml Normal file
View file

@ -0,0 +1,26 @@
- name: Installing opengl libs
ansible.builtin.import_tasks: opengl.yml
- name: Installing cpp
ansible.builtin.import_tasks: cpp.yml
- name: Installing qt devel libs
become: true
ansible.builtin.dnf5:
name:
- qt6-qtdeclarative-devel
- qt6-qtbase-devel
- qt6-qtsvg
- qt6-qtimageformats
- qt6-qtmultimedia
- qt6-qt5compat
- qt6-qtmultimedia-devel
- qt6-qt5compat-devel
state: latest
# - name: Installing qt creator
# become: true
# ansible.builtin.dnf5:
# name:
# - qt6-creator
# state: latest

View file

@ -46,6 +46,7 @@
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/idea"
state: directory
mode: a
- name: Installing intellij idea
ansible.builtin.unarchive:
remote_src: true

View file

@ -41,6 +41,7 @@
src: '{{ role_path }}/files/.config/fish/fish_variables'
dest: '{{ ansible_env.HOME }}/.config/fish/fish_variables'
force: false
mode: a
# apps
- name: Linking tmux configuration

View file

@ -28,6 +28,14 @@
ansible.builtin.import_tasks: gui.yml
when: "'gui' in configure"
- name: Desctop envionment config
- name: Desktop envionment config
ansible.builtin.import_tasks: de.yml
when: "'de' in configure"
- name: Quickshell config
ansible.builtin.import_tasks: quickshell.yml
when: "'quickshell' in configure"
- name: WMs config
ansible.builtin.import_tasks: wm.yml
when: "'wm' in configure"

View file

@ -0,0 +1,6 @@
- name: Linking quickshell configuration
ansible.builtin.file:
src: '{{ role_path }}/files/.config/quickshell'
dest: '{{ ansible_env.HOME }}/.config/quickshell'
state: link
force: true

View file

@ -0,0 +1,8 @@
- name: Linking niri configuration
ansible.builtin.file:
src: '{{ role_path }}/files/niri'
dest: '{{ ansible_env.HOME }}/niri'
state: link
force: true
# TODO: hyprland

View file

@ -7,4 +7,3 @@
- python3-github3py
- python3-rpm
state: latest

View file

@ -10,10 +10,18 @@
ansible.builtin.import_tasks: gui.yml
when: "'gui' in apps"
- name: Installing pps for host
- name: Installing apps for host
ansible.builtin.import_tasks: host.yml
when: "'host' in apps"
- name: Installing proxies
ansible.builtin.import_tasks: proxy.yml
when: "'proxy' in apps"
- name: Installing wm
ansible.builtin.import_tasks: wm.yml
when: "'wm' in apps"
- name: Installing quickshell
ansible.builtin.import_tasks: quickshell.yml
when: "'quickshell' in apps"

View file

@ -0,0 +1,67 @@
- name: Enabling quickshell fedora copr
become: true
community.general.copr:
host: copr.fedorainfracloud.org
state: enabled
name: errornointernet/quickshell
- name: Installing quickshell
become: true
ansible.builtin.dnf5:
name:
- quickshell
state: latest
- name: Installing common deps
become: true
ansible.builtin.dnf5:
name:
- rsms-inter-fonts
- fira-code-fonts
state: latest
- name: Creating fonts dir
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/.local/share/fonts"
state: directory
mode: a
- name: Downloading material design icons font
ansible.builtin.get_url:
url: "https://github.com/google/material-design-icons/raw/master/variablefont/MaterialSymbolsRounded%5BFILL%2CGRAD%2Copsz%2Cwght%5D.ttf"
dest: "{{ ansible_env.HOME }}/.local/share/fonts/MaterialSymbolsRounded.ttf"
mode: a
force: false
- name: Updating fonts cache
ansible.builtin.command:
cmd: fc-cache -f
changed_when: true
- name: Installing matugen (material you themes gen) v2.4.1 (fixed)
become: true
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/InioX/matugen/releases/download/v2.4.1/matugen-2.4.1-x86_64.tar.gz"
dest: "/usr/bin/" # TODO: user local install (?)
mode: a+x
keep_newer: true
extra_opts:
- --strip=1
- --no-anchored
- matugen
- name: Get latest dgop (sensors data utility) version
community.general.github_release:
user: AvengeMedia
repo: dgop
action: latest_release
register: dgop_version
- name: Installing dgop (sensors data utility) {{ dgop_version.tag }}
become: true
ansible.builtin.get_url:
url: "https://github.com/AvengeMedia/dgop/releases/download/{{ dgop_version.tag }}/dgop-{{ dgop_version.tag }}-linux-amd64"
dest: "/usr/bin/dgop" # TODO: user local install (?)
mode: a+x
force: true

View file

@ -0,0 +1,13 @@
- name: Installing niri
become: true
ansible.builtin.dnf5:
name:
- niri
state: latest
- name: Installing hyprland
become: true
ansible.builtin.dnf5:
name:
- hyprland
state: latest