mirror of
https://codeberg.org/ProgramSnail/config.git
synced 2026-01-09 21:25:06 +00:00
Compare commits
14 commits
147bf7b5d6
...
4293f662e7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4293f662e7 | ||
|
|
28a5aa09af | ||
|
|
646b6508eb | ||
|
|
14f7bf69be | ||
|
|
ce3dad5b22 | ||
|
|
758f19c61e | ||
|
|
1a0e99f8f6 | ||
|
|
68ecd7ab03 | ||
|
|
525f2fa554 | ||
|
|
eac77aca5a | ||
|
|
710ac7e69a | ||
|
|
30142464c5 | ||
|
|
1947c8e0e4 | ||
|
|
2eb5a886f8 |
19 changed files with 195 additions and 11 deletions
|
|
@ -13,7 +13,7 @@
|
||||||
- cli
|
- cli
|
||||||
vars_prompt:
|
vars_prompt:
|
||||||
- name: tools_in
|
- 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
|
private: false
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: Get tools list
|
- name: Get tools list
|
||||||
|
|
|
||||||
30
playbooks/manual.yml
Normal file
30
playbooks/manual.yml
Normal 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
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
- name: Installing opengl libs
|
||||||
|
ansible.builtin.import_tasks: opengl.yml
|
||||||
|
|
||||||
- name: Getting programs list to check fish presence
|
- name: Getting programs list to check fish presence
|
||||||
ansible.builtin.package_facts:
|
ansible.builtin.package_facts:
|
||||||
manager: auto
|
manager: auto
|
||||||
|
|
@ -7,12 +10,6 @@
|
||||||
become: true
|
become: true
|
||||||
ansible.builtin.dnf5:
|
ansible.builtin.dnf5:
|
||||||
name:
|
name:
|
||||||
- glew-devel
|
|
||||||
- SDL2-devel
|
|
||||||
- SDL2_image-devel
|
|
||||||
- glm-devel
|
|
||||||
- freetype-devel
|
|
||||||
- mesa-libGLU
|
|
||||||
- openal-soft
|
- openal-soft
|
||||||
- java-21-openjdk
|
- java-21-openjdk
|
||||||
state: latest
|
state: latest
|
||||||
|
|
@ -55,7 +52,8 @@
|
||||||
become: true
|
become: true
|
||||||
ansible.builtin.unarchive:
|
ansible.builtin.unarchive:
|
||||||
remote_src: true
|
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"
|
dest: "{{ ansible_env.HOME }}/.lua_lsp"
|
||||||
keep_newer: true
|
keep_newer: true
|
||||||
mode: a
|
mode: a
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,14 @@
|
||||||
ansible.builtin.import_tasks: truffle.yml
|
ansible.builtin.import_tasks: truffle.yml
|
||||||
when: "'truffle' in tools"
|
when: "'truffle' in tools"
|
||||||
|
|
||||||
|
# - name: Truffle development environment
|
||||||
|
# ansible.builtin.import_tasks: opengl.yml
|
||||||
|
# when: "'opengl' in tools"
|
||||||
|
|
||||||
- name: Truffle development environment
|
- name: Truffle development environment
|
||||||
ansible.builtin.import_tasks: gamedev.yml
|
ansible.builtin.import_tasks: gamedev.yml
|
||||||
when: "'gamedev' in tools"
|
when: "'gamedev' in tools"
|
||||||
|
|
||||||
|
- name: Truffle development environment
|
||||||
|
ansible.builtin.import_tasks: qt.yml
|
||||||
|
when: "'qt' in tools"
|
||||||
|
|
|
||||||
11
roles/dev/tasks/opengl.yml
Normal file
11
roles/dev/tasks/opengl.yml
Normal 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
26
roles/dev/tasks/qt.yml
Normal 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
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ ansible_env.HOME }}/idea"
|
path: "{{ ansible_env.HOME }}/idea"
|
||||||
state: directory
|
state: directory
|
||||||
|
mode: a
|
||||||
- name: Installing intellij idea
|
- name: Installing intellij idea
|
||||||
ansible.builtin.unarchive:
|
ansible.builtin.unarchive:
|
||||||
remote_src: true
|
remote_src: true
|
||||||
|
|
|
||||||
0
roles/dotfiles/files/.config/fish/completions/empty
Normal file
0
roles/dotfiles/files/.config/fish/completions/empty
Normal file
0
roles/dotfiles/files/.config/fish/conf.d/empty
Normal file
0
roles/dotfiles/files/.config/fish/conf.d/empty
Normal file
0
roles/dotfiles/files/.config/quickshell/MyShell/empty
Normal file
0
roles/dotfiles/files/.config/quickshell/MyShell/empty
Normal file
0
roles/dotfiles/files/.config/quickshell/empty
Normal file
0
roles/dotfiles/files/.config/quickshell/empty
Normal file
|
|
@ -41,6 +41,7 @@
|
||||||
src: '{{ role_path }}/files/.config/fish/fish_variables'
|
src: '{{ role_path }}/files/.config/fish/fish_variables'
|
||||||
dest: '{{ ansible_env.HOME }}/.config/fish/fish_variables'
|
dest: '{{ ansible_env.HOME }}/.config/fish/fish_variables'
|
||||||
force: false
|
force: false
|
||||||
|
mode: a
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
- name: Linking tmux configuration
|
- name: Linking tmux configuration
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,14 @@
|
||||||
ansible.builtin.import_tasks: gui.yml
|
ansible.builtin.import_tasks: gui.yml
|
||||||
when: "'gui' in configure"
|
when: "'gui' in configure"
|
||||||
|
|
||||||
- name: Desctop envionment config
|
- name: Desktop envionment config
|
||||||
ansible.builtin.import_tasks: de.yml
|
ansible.builtin.import_tasks: de.yml
|
||||||
when: "'de' in configure"
|
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"
|
||||||
|
|
|
||||||
6
roles/dotfiles/tasks/quickshell.yml
Normal file
6
roles/dotfiles/tasks/quickshell.yml
Normal 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
|
||||||
8
roles/dotfiles/tasks/wm.yml
Normal file
8
roles/dotfiles/tasks/wm.yml
Normal 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
|
||||||
|
|
@ -7,4 +7,3 @@
|
||||||
- python3-github3py
|
- python3-github3py
|
||||||
- python3-rpm
|
- python3-rpm
|
||||||
state: latest
|
state: latest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,18 @@
|
||||||
ansible.builtin.import_tasks: gui.yml
|
ansible.builtin.import_tasks: gui.yml
|
||||||
when: "'gui' in apps"
|
when: "'gui' in apps"
|
||||||
|
|
||||||
- name: Installing pps for host
|
- name: Installing apps for host
|
||||||
ansible.builtin.import_tasks: host.yml
|
ansible.builtin.import_tasks: host.yml
|
||||||
when: "'host' in apps"
|
when: "'host' in apps"
|
||||||
|
|
||||||
- name: Installing proxies
|
- name: Installing proxies
|
||||||
ansible.builtin.import_tasks: proxy.yml
|
ansible.builtin.import_tasks: proxy.yml
|
||||||
when: "'proxy' in apps"
|
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"
|
||||||
|
|
|
||||||
67
roles/installs/tasks/quickshell.yml
Normal file
67
roles/installs/tasks/quickshell.yml
Normal 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
|
||||||
13
roles/installs/tasks/wm.yml
Normal file
13
roles/installs/tasks/wm.yml
Normal 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue