nix: Finish desktop environment

This commit is contained in:
Geoffrey Frogeye 2023-11-05 16:43:01 +01:00
parent c696da568d
commit 832ce41b8e
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
8 changed files with 6 additions and 137 deletions

View file

@ -10,16 +10,9 @@
when: root_access when: root_access
- role: dotfiles - role: dotfiles
tags: dotfiles tags: dotfiles
- role: mnussbaum.base16-builder-ansible # Required for desktop_environment
tags:
- color
- desktop_environment
- role: termux - role: termux
tags: termux tags: termux
when: termux when: termux
- role: desktop_environment
tags: desktop_environment
when: display_server
- role: extensions - role: extensions
tags: extensions tags: extensions
# TODO Dependencies # TODO Dependencies

View file

@ -1 +0,0 @@
base16_scheme: solarized-dark

View file

@ -1,10 +0,0 @@
---
- name: I3-reload
ansible.builtin.command: i3-msg reload
listen: i3-reload
- name: Shell-reload
ansible.builtin.command: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApply"
listen: shell-reload
- name: Fzf-reload
ansible.builtin.shell: source {{ ansible_env.HOME }}/.local/bin/colorSchemeApplyFzf
listen: fzf-reload

View file

@ -1,106 +0,0 @@
---
- name: Ensure directories for desktop applications are present
ansible.builtin.file:
state: directory
path: "{{ ansible_user_dir }}/{{ item }}"
mode: u=rwx,g=rx,o=rx
with_items:
- .config/Xresources
- .config/rofi
- .local/bin
- .local/share/fonts
- .config/qutebrowser
- .config/tridactyl/themes
# Download fonts
- name: Download Nerd fonts
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/ryanoasis/nerd-fonts/704336735f576781b2a57b12a0c723e3316cbdec/patched-fonts/DejaVuSansMono/{{ item.folder }}/complete/{{
item.filename | urlencode }}
dest: "{{ ansible_user_dir }}/.local/share/fonts/{{ item.filename }}"
mode: u=rw,g=r,o=r
loop:
- filename: DejaVu Sans Mono Bold Nerd Font Complete Mono.ttf
folder: Bold
- filename: DejaVu Sans Mono Bold Oblique Nerd Font Complete Mono.ttf
folder: Bold-Italic
- filename: DejaVu Sans Mono Nerd Font Complete Mono.ttf
folder: Regular
- filename: DejaVu Sans Mono Oblique Nerd Font Complete Mono.ttf
folder: Italic
- name: Download icon fonts
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/FortAwesome/Font-Awesome/a8386aae19e200ddb0f6845b5feeee5eb7013687/fonts/fontawesome-webfont.ttf
dest: "{{ ansible_user_dir }}/.local/share/fonts/fontawesome-webfont.ttf"
mode: u=rw,g=r,o=r
# TODO Either replace with ForkAwesome or Nerd Fonts
- name: Install python dependencies for lemonbar
ansible.builtin.pip:
requirements: "{{ ansible_user_dir }}/.dotfiles/config/lemonbar/requirements.txt"
extra_args: --break-system-packages # It's fine, it's local anyways
# Build a single color scheme and template and assign it to a variable
- base16_builder:
scheme: "{{ base16_scheme }}"
template: # This requires https://github.com/mnussbaum/base16-builder-ansible/pull/6
- i3
- xresources
- rofi
- alacritty
- shell
- fzf
- vim
- qutebrowser
- tridactyl
- dunst
register: base16_schemes
tags:
- color
- i3
- name: Download base16 theme for fzf
ansible.builtin.copy:
content: "{{ base16_schemes['schemes'][base16_scheme]['fzf']['bash']['base16-' + base16_scheme + '.config'] }}"
dest: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApplyFzf"
mode: u=rw,g=r,o=r
notify:
- fzf-reload
tags:
- color
- name: Download base16 theme for shell
ansible.builtin.copy:
content: "{{ base16_schemes['schemes'][base16_scheme]['shell']['script']['base16-' + base16_scheme + '.sh'] }}"
dest: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApply"
mode: u=rwx,g=rx,o=rx
notify:
- shell-reload
when: false # Not currently used
tags:
- color
- name: Set used base16 theme for vim
ansible.builtin.copy:
path: "{{ ansible_env.HOME }}/.config/vim/colorscheme.vim"
mode: u=rw,g=r,o=r
content: colorscheme base16-{{ base16_scheme }}
when: false # Not currently used
tags:
- color
- name: Enable user services
ansible.builtin.systemd:
name: "{{ item }}"
state: started
enabled: true
scope: user
loop:
- pulseaudio
- mpd
when: has_systemd
# TODO bar (might change bar in the future, so...)
# TODO highlight (there IS a template but the colors look different from vim and mostly the same from when there's no config)
# TODO https://github.com/makuto/auto-base16-theme ? :P

View file

@ -13,15 +13,7 @@
path: "{{ ansible_user_dir }}/.hushlogin" path: "{{ ansible_user_dir }}/.hushlogin"
mode: u=rw,g=r,o=r mode: u=rw,g=r,o=r
# Build a single color scheme and template and assign it to a variable # https://github.com/kdrag0n/base16-termux/blob/master/templates/default.mustache
- base16_builder:
scheme: "{{ base16_scheme }}"
template: # This requires https://github.com/mnussbaum/base16-builder-ansible/pull/6
- termux
register: base16_schemes
tags:
- color
- name: Download base16 theme for Termux - name: Download base16 theme for Termux
ansible.builtin.copy: ansible.builtin.copy:
content: "{{ base16_schemes['schemes'][base16_scheme]['termux']['colors']['base16-' + base16_scheme + '.properties'] }}" content: "{{ base16_schemes['schemes'][base16_scheme]['termux']['colors']['base16-' + base16_scheme + '.properties'] }}"

View file

@ -54,7 +54,7 @@ class Bar:
""" """
# Constants # Constants
FONTS = ["DejaVuSansMono Nerd Font Mono", "Font Awesome"] FONTS = ["DejaVuSansMono Nerd Font Mono"]
FONTSIZE = 10 FONTSIZE = 10
@staticmethod @staticmethod

View file

@ -50,6 +50,8 @@
trust = "ultimate"; trust = "ultimate";
}]; }];
}; };
fzf.enable = true;
# TODO highlight or bat
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [

View file

@ -51,9 +51,8 @@ padding-right = 2
module-margin-left = 1 module-margin-left = 1
module-margin-right = 1 module-margin-right = 1
font-0 = "Font Awesome:size=10;0" font-0 = "DejaVu Sans:size=10;0"
font-1 = "DejaVu Sans:size=10;0" font-1 = "DejaVuSansMono Nerd Font Mono:pixelsize=10;0"
font-2 = "DejaVuSansMono Nerd Font Mono:pixelsize=10;0"
modules-left = i3 modules-left = i3