Compare commits
17 Commits
0ccf6427f2
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7cd7d746e7 | |||
| e20f8b6ea2 | |||
| 36caf27d21 | |||
| 239cb292a8 | |||
| ee405d9008 | |||
| 2ee4e44788 | |||
| 365a2d6ac3 | |||
| 993af4e26c | |||
| fb76c95d1f | |||
| c29c755c14 | |||
| 30df2d5faf | |||
| 896900392b | |||
| 7676943e69 | |||
| 8aa6bcd5cb | |||
| be8fbb5d9f | |||
| d46e7c8dad | |||
| b39e579c51 |
18
README.md
18
README.md
@@ -24,15 +24,21 @@ Example: Only execute alacritty and fish
|
|||||||
```
|
```
|
||||||
|
|
||||||
# Settings
|
# Settings
|
||||||
There are two ways to set settings.
|
There are two ways to set settings/values.
|
||||||
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
||||||
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
||||||
|
|
||||||
## Install Option
|
## Ansible Vault
|
||||||
The variable `system` has three valid options.
|
Vault password file: `$HOME/.config/dotfiles/vault-password.txt`
|
||||||
1. server: Minimal installation, only install and configure CMD tools
|
|
||||||
2. desktop (default): Install WM and desktop applications
|
## Settings
|
||||||
3. desktop_full: Install additional packages for the desktop (wine)
|
### System
|
||||||
|
|Value |Desc |Default|
|
||||||
|
|------------|-------------------------------------------------------|-------|
|
||||||
|
|server |Minimal installation (CMD tools) | |
|
||||||
|
|desktop |Install WM and desktop applications |x |
|
||||||
|
|desktop_full|Install additional packages for the desktop (e.g. wine)| |
|
||||||
|
<br/>
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
- AGS: Bar, AppLauncher, PowerMenu, Notifications, Calculator, Emoji-Picker, ...
|
- AGS: Bar, AppLauncher, PowerMenu, Notifications, Calculator, Emoji-Picker, ...
|
||||||
|
|||||||
@@ -13,7 +13,18 @@ desktop_roles:
|
|||||||
- hypr
|
- hypr
|
||||||
- kvantum
|
- kvantum
|
||||||
- minegrub
|
- minegrub
|
||||||
|
- nwg-look
|
||||||
|
- qt5ct
|
||||||
- sddm
|
- sddm
|
||||||
- swaylock
|
- wakatime
|
||||||
|
|
||||||
system: desktop
|
system: desktop
|
||||||
|
|
||||||
|
wakapi_key: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
39346164353734613634356635383464636463373437333463616530346162303666343962383364
|
||||||
|
3862316162646639353665336530613965663437316263310a646464663038346539393039666537
|
||||||
|
32636139616239643934353135656662376262356433616635343830646164363435353739343966
|
||||||
|
6233303036393538370a656564643033383334323631663631336137346161326464373364346230
|
||||||
|
64323564663534393766356166393363376237633565316363363138373033353030373139366365
|
||||||
|
6435323438633233363166626330633164346534363335666433
|
||||||
|
|||||||
36
install.sh
36
install.sh
@@ -19,38 +19,62 @@ print_header() {
|
|||||||
cmd() {
|
cmd() {
|
||||||
local DOTFILES_LOG="./error.log"
|
local DOTFILES_LOG="./error.log"
|
||||||
|
|
||||||
if ! [[ -f $DOTFILES_LOG ]]; then
|
|
||||||
touch $DOTFILES_LOG
|
|
||||||
fi
|
|
||||||
|
|
||||||
if eval "$1" 1> /dev/null 2> $DOTFILES_LOG; then
|
if eval "$1" 1> /dev/null 2> $DOTFILES_LOG; then
|
||||||
|
rm "$DOTFILES_LOG"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "${RED}"
|
echo -e "${RED}"
|
||||||
cat $DOTFILES_LOG
|
cat $DOTFILES_LOG
|
||||||
echo -e "${COLOR_RESET}"
|
echo -e "${COLOR_RESET}"
|
||||||
|
rm "$DOTFILES_LOG"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
paru_install() {
|
||||||
|
if [ -x "$(command -v paru)" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Base-Devel
|
||||||
|
if [ -z "$(pacman -Q | grep base-devel)" ]; then
|
||||||
|
print_header "Installing base-devel"
|
||||||
|
cmd "sudo pacman -S base-devel --noconfirm"
|
||||||
|
fi
|
||||||
|
# Install RustUp
|
||||||
|
if ! [ -x "$(command -v rustup)" ]; then
|
||||||
|
print_header "Installing rustup"
|
||||||
|
cmd "sudo pacman -S rustup --noconfirm"
|
||||||
|
cmd "rustup default stable"
|
||||||
|
fi
|
||||||
|
# Instal Paru
|
||||||
|
FOLDER=$(mktemp -d)
|
||||||
|
print_header "Installing paru"
|
||||||
|
cmd "git clone https://aur.archlinux.org/paru.git $FOLDER"
|
||||||
|
cd $FOLDER
|
||||||
|
cmd "makepkg -si --noconfirm"
|
||||||
|
}
|
||||||
|
|
||||||
arch_install() {
|
arch_install() {
|
||||||
# Install Ansible
|
# Install Ansible
|
||||||
if ! [ -x "$(command -v ansible)" ]; then
|
if ! [ -x "$(command -v ansible)" ]; then
|
||||||
print_header "Installing ansible"
|
print_header "Installing ansible"
|
||||||
cmd "pacman -S ansible --noconfirm"
|
cmd "sudo pacman -S ansible --noconfirm"
|
||||||
fi
|
fi
|
||||||
# Install Git
|
# Install Git
|
||||||
if ! [ -x "$(command -v git)" ]; then
|
if ! [ -x "$(command -v git)" ]; then
|
||||||
print_header "Installing git"
|
print_header "Installing git"
|
||||||
cmd "sudo pacman -S git --noconfirm"
|
cmd "sudo pacman -S git --noconfirm"
|
||||||
fi
|
fi
|
||||||
|
# Installl Paru
|
||||||
|
paru_install
|
||||||
# Install PIP
|
# Install PIP
|
||||||
if ! [ -x "$(command -v pip)" ]; then
|
if ! [ -x "$(command -v pip)" ]; then
|
||||||
print_header "Installing pip"
|
print_header "Installing pip"
|
||||||
cmd "sudo pacman -S python-pip --noconfirm"
|
cmd "sudo pacman -S python-pip --noconfirm"
|
||||||
fi
|
fi
|
||||||
# Install Watchdog
|
# Install Watchdog
|
||||||
if [ -x "$(pip list | grep watchdog)" ]; then
|
if [ -z "$(pip list | grep watchdog)" ]; then
|
||||||
print_header "Installing watchdog"
|
print_header "Installing watchdog"
|
||||||
cmd "pip install --break-system-packages watchdog"
|
cmd "pip install --break-system-packages watchdog"
|
||||||
fi
|
fi
|
||||||
|
|||||||
12
main.yml
12
main.yml
@@ -3,6 +3,18 @@
|
|||||||
hosts: localhost
|
hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
tasks:
|
tasks:
|
||||||
|
- name: Get username
|
||||||
|
command: whoami
|
||||||
|
register: whoami
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Set username
|
||||||
|
set_fact:
|
||||||
|
username: "{{ whoami.stdout }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
- name: Set default roles
|
- name: Set default roles
|
||||||
set_fact:
|
set_fact:
|
||||||
roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(ansible_skip_tags | default([])) }}"
|
roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(ansible_skip_tags | default([])) }}"
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
const systemtray = await Service.import('systemtray')
|
|
||||||
|
|
||||||
/** @param {import('types/service/systemtray').TrayItem} item */
|
|
||||||
const SysTrayItem = item => Widget.Button({
|
|
||||||
child: Widget.Icon().bind('icon', item, 'icon'),
|
|
||||||
tooltipMarkup: item.bind('tooltip_markup'),
|
|
||||||
onPrimaryClick: (_, event) => item.activate(event),
|
|
||||||
onSecondaryClick: (_, event) => item.openMenu(event),
|
|
||||||
});
|
|
||||||
|
|
||||||
function SysTray() {
|
|
||||||
return Widget.Box({ children: systemtray.bind('items').transform(i => i.map(SysTrayItem)) });
|
|
||||||
}
|
|
||||||
|
|
||||||
function Bar(monitor = 0) {
|
|
||||||
const lTime = Widget.Label({
|
|
||||||
label: 'TIME',
|
|
||||||
});
|
|
||||||
|
|
||||||
Utils.interval(1000, () => {
|
|
||||||
lTime.label = Utils.exec('date +%H:%M');
|
|
||||||
//date +%d.%m.%Y
|
|
||||||
});
|
|
||||||
|
|
||||||
const bTimeDate = Widget.Box({
|
|
||||||
children: [lTime]
|
|
||||||
});
|
|
||||||
|
|
||||||
const bInfo = Widget.Box({
|
|
||||||
hpack: "end",
|
|
||||||
children: [SysTray()]
|
|
||||||
});
|
|
||||||
|
|
||||||
return Widget.Window({
|
|
||||||
monitor,
|
|
||||||
exclusivity: 'exclusive',
|
|
||||||
name: `bar ${monitor}`,
|
|
||||||
anchor: ['top', 'left', 'right'],
|
|
||||||
child: Widget.CenterBox({
|
|
||||||
centerWidget: bTimeDate,
|
|
||||||
endWidget: bInfo,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
|
||||||
windows: [Bar(1), Bar(2)]
|
|
||||||
};
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "[AGS] Install"
|
|
||||||
kewlfft.aur.aur:
|
|
||||||
name:
|
|
||||||
- aylurs-gtk-shell-git
|
|
||||||
use: paru
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[AGS] Create config folder"
|
|
||||||
ansible.builtin.file:
|
|
||||||
mode: "0755"
|
|
||||||
path: "{{ ansible_user_dir }}/.config/ags"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: "[AGS] Configure"
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "./"
|
|
||||||
dest: "{{ ansible_user_dir }}/.config/ags"
|
|
||||||
@@ -4,9 +4,7 @@
|
|||||||
name:
|
name:
|
||||||
- alacritty
|
- alacritty
|
||||||
- ueberzugpp
|
- ueberzugpp
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[Alacritty] Create config folder"
|
- name: "[Alacritty] Create config folder"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
@@ -18,3 +16,7 @@
|
|||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "./"
|
src: "./"
|
||||||
dest: "{{ ansible_user_dir }}/.config/alacritty"
|
dest: "{{ ansible_user_dir }}/.config/alacritty"
|
||||||
|
|
||||||
|
- name: "[Alacritty] Set default"
|
||||||
|
shell: gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty && gsettings set org.gnome.desktop.default-applications.terminal exec alacritty
|
||||||
|
ignore_errors: true
|
||||||
|
|||||||
@@ -1,8 +1,25 @@
|
|||||||
# If not running interactively, don't do anything
|
# If not running interactively, don't do anything
|
||||||
[[ $- != *i* ]] && return
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
# Env vars
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL=nvim
|
||||||
|
|
||||||
# Load starship prompt if starship is installed
|
# Load starship prompt if starship is installed
|
||||||
eval "$(starship init bash)"
|
if [ -f /usr/bin/starship ]; then
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
# Yazi
|
||||||
|
function ya() {
|
||||||
|
local tmp="$(mktemp -t "yazi-cwd.XXXXX")"
|
||||||
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
|
cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
## Aliases
|
## Aliases
|
||||||
# Replace ls with eza
|
# Replace ls with eza
|
||||||
@@ -13,17 +30,22 @@ alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
|||||||
alias l.='eza -ald --color=always --group-directories-first .*' # show only dotfiles
|
alias l.='eza -ald --color=always --group-directories-first .*' # show only dotfiles
|
||||||
|
|
||||||
# Replace cat with bat
|
# Replace cat with bat
|
||||||
alias cat='bat --style header --style snip --style changes --style header'
|
if [ -f /usr/bin/bat ]; then
|
||||||
|
alias cat='bat --style header --style snip --style changes --style header'
|
||||||
|
fi
|
||||||
|
|
||||||
# Replace yay with paru
|
# Replace yay with paru
|
||||||
[ ! -x /usr/bin/yay ] && [ -x /usr/bin/paru ] && alias yay='paru'
|
if [ -f /usr/bin/paru ]; then
|
||||||
|
alias yay='paru'
|
||||||
|
fi
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
|
alias :q='exit'
|
||||||
alias cls='clear'
|
alias cls='clear'
|
||||||
alias dir='dir --color=auto'
|
alias dir='dir --color=auto'
|
||||||
alias egrep='grep -E --color=auto'
|
alias grepe='grep -E --color=auto'
|
||||||
alias fgrep='grep -F --color=auto'
|
alias grepf='grep -F --color=auto'
|
||||||
alias igrep='grep -i --color=auto'
|
alias grepi='grep -i --color=auto'
|
||||||
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
alias grubup="sudo update-grub"
|
alias grubup="sudo update-grub"
|
||||||
@@ -33,8 +55,6 @@ alias psmem='ps auxf | sort -nr -k 4'
|
|||||||
alias rmpkg="sudo pacman -Rdd"
|
alias rmpkg="sudo pacman -Rdd"
|
||||||
alias tarnow='tar -acf '
|
alias tarnow='tar -acf '
|
||||||
alias untar='tar -zxvf '
|
alias untar='tar -zxvf '
|
||||||
alias upd='/usr/bin/update'
|
|
||||||
alias vdir='vdir --color=auto'
|
|
||||||
alias wget='wget -c '
|
alias wget='wget -c '
|
||||||
|
|
||||||
# Cleanup orphaned packages
|
# Cleanup orphaned packages
|
||||||
|
|||||||
@@ -2,25 +2,61 @@
|
|||||||
"windowStyle": "native",
|
"windowStyle": "native",
|
||||||
"channel": "stable",
|
"channel": "stable",
|
||||||
"armcordCSP": true,
|
"armcordCSP": true,
|
||||||
"minimizeToTray": true,
|
"minimizeToTray": false,
|
||||||
"keybinds": [],
|
"keybinds": [],
|
||||||
"alternativePaste": false,
|
"alternativePaste": false,
|
||||||
"multiInstance": false,
|
"multiInstance": false,
|
||||||
"mods": "none",
|
"mods": [
|
||||||
|
"none"
|
||||||
|
],
|
||||||
"spellcheck": true,
|
"spellcheck": true,
|
||||||
"performanceMode": "none",
|
"performanceMode": "none",
|
||||||
"skipSplash": false,
|
"skipSplash": false,
|
||||||
"inviteWebsocket": true,
|
"inviteWebsocket": true,
|
||||||
"startMinimized": false,
|
"startMinimized": false,
|
||||||
"dynamicIcon": false,
|
"dynamicIcon": false,
|
||||||
"tray": true,
|
"tray": "dynamic",
|
||||||
"customJsBundle": "https://armcord.app/placeholder.js",
|
"customJsBundle": "https://armcord.app/placeholder.js",
|
||||||
"customCssBundle": "https://armcord.app/placeholder.css",
|
"customCssBundle": "https://armcord.app/placeholder.css",
|
||||||
"disableAutogain": false,
|
"disableAutogain": false,
|
||||||
"useLegacyCapturer": false,
|
"useLegacyCapturer": false,
|
||||||
"mobileMode": false,
|
"mobileMode": false,
|
||||||
"trayIcon": "default",
|
"trayIcon": "dynamic",
|
||||||
"doneSetup": true,
|
"doneSetup": true,
|
||||||
"clientName": "ArmCord",
|
"clientName": "ArmCord",
|
||||||
"customIcon": "/usr/lib/armcord/app.asar/assets/desktop.png"
|
"customIcon": "/usr/lib/armcord/app.asar/assets/desktop.png",
|
||||||
|
"modCache": {
|
||||||
|
"shelter": "1b35b8802a85809742af99f454bb941f56f759a3"
|
||||||
|
},
|
||||||
|
"hardwareAcceleration": true,
|
||||||
|
"audio": {
|
||||||
|
"workaround": false,
|
||||||
|
"deviceSelect": true,
|
||||||
|
"granularSelect": true,
|
||||||
|
"ignoreVirtual": false,
|
||||||
|
"ignoreDevices": false,
|
||||||
|
"ignoreInputMedia": false,
|
||||||
|
"onlySpeakers": false,
|
||||||
|
"onlyDefaultSpeakers": true,
|
||||||
|
"loopbackType": "loopback"
|
||||||
|
},
|
||||||
|
"transparency": "none",
|
||||||
|
"legcordCSP": true,
|
||||||
|
"bounceOnPing": false,
|
||||||
|
"disableHttpCache": false,
|
||||||
|
"autoHideMenuBar": true,
|
||||||
|
"blockPowerSavingInVoiceChat": false,
|
||||||
|
"useMacSystemPicker": true,
|
||||||
|
"popoutPiP": false,
|
||||||
|
"spellcheckLanguage": [
|
||||||
|
"en-US",
|
||||||
|
"de-DE"
|
||||||
|
],
|
||||||
|
"sleepInBackground": false,
|
||||||
|
"noBundleUpdates": false,
|
||||||
|
"additionalArguments": "",
|
||||||
|
"smoothScroll": true,
|
||||||
|
"autoScroll": false,
|
||||||
|
"useSystemCssEditor": false,
|
||||||
|
"overlayButtonColor": "#121214"
|
||||||
}
|
}
|
||||||
@@ -1 +1,13 @@
|
|||||||
{"theme":"src.css","name":"Catppuccin Macchiato","author":"winston#0001","authorId":"505490445468696576","version":"0.2.0","description":"🎮 Soothing pastel theme for Discord","website":"https://github.com/catppuccin/discord","invite":"r6Mdz5dpFc","updateSrc":"https://raw.githubusercontent.com/catppuccin/discord/main/themes/macchiato.theme.css","supportsArmCordTitlebar":false}
|
{
|
||||||
|
"theme": "src.css",
|
||||||
|
"name": "Catppuccin Macchiato",
|
||||||
|
"author": "winston#0001",
|
||||||
|
"authorId": "505490445468696576",
|
||||||
|
"version": "0.2.0",
|
||||||
|
"description": "🎮 Soothing pastel theme for Discord",
|
||||||
|
"website": "https://github.com/catppuccin/discord",
|
||||||
|
"invite": "r6Mdz5dpFc",
|
||||||
|
"updateSrc": "https://raw.githubusercontent.com/catppuccin/discord/main/themes/macchiato.theme.css",
|
||||||
|
"supportsArmCordTitlebar": false,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,18 +2,17 @@
|
|||||||
- name: "[Discord] Install"
|
- name: "[Discord] Install"
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name:
|
name:
|
||||||
- armcord
|
- legcord
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: "[Discord] Create config folder"
|
- name: "[Discord] Create config folder"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
path: "{{ ansible_user_dir }}/.config/ArmCord"
|
path: "{{ ansible_user_dir }}/.config/legcord"
|
||||||
state: directory
|
state: directory
|
||||||
force: false
|
force: false
|
||||||
|
|
||||||
- name: "[Discord] Configure"
|
- name: "[Discord] Configure"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "./"
|
src: "./"
|
||||||
dest: "{{ ansible_user_dir }}/.config/ArmCord"
|
dest: "{{ ansible_user_dir }}/.config/legcord"
|
||||||
|
|||||||
39
roles/fish/files/config.fish
Executable file → Normal file
39
roles/fish/files/config.fish
Executable file → Normal file
@@ -6,14 +6,14 @@ set -x MANROFFOPT "-c"
|
|||||||
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
## Environment setup
|
## Environment setup
|
||||||
|
# Env vars
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL=nvim
|
||||||
|
|
||||||
if test -f ~/.fish_profile
|
if test -f ~/.fish_profile
|
||||||
source ~/.fish_profile
|
source ~/.fish_profile
|
||||||
end
|
end
|
||||||
|
|
||||||
# Other env vars
|
|
||||||
export EDITOR=nvim
|
|
||||||
export VISUAL=nvim
|
|
||||||
|
|
||||||
# Add ~/.local/bin to PATH
|
# Add ~/.local/bin to PATH
|
||||||
if test -d ~/.local/bin
|
if test -d ~/.local/bin
|
||||||
if not contains -- ~/.local/bin $PATH
|
if not contains -- ~/.local/bin $PATH
|
||||||
@@ -21,7 +21,7 @@ if test -d ~/.local/bin
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Plugin configuration
|
## Plugin configuration
|
||||||
# Set settings for https://github.com/franciscolourenco/done
|
# Set settings for https://github.com/franciscolourenco/done
|
||||||
set -U __done_min_cmd_duration 10000
|
set -U __done_min_cmd_duration 10000
|
||||||
set -U __done_notification_urgency_level low
|
set -U __done_notification_urgency_level low
|
||||||
@@ -31,6 +31,11 @@ if type -q starship && status --is-interactive
|
|||||||
starship init fish | source
|
starship init fish | source
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Zoxide
|
||||||
|
if type -q zoxide && status --is-interactive
|
||||||
|
zoxide init fish | source
|
||||||
|
end
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
# Fish command history
|
# Fish command history
|
||||||
function history
|
function history
|
||||||
@@ -113,7 +118,7 @@ function ya
|
|||||||
set tmp (mktemp -t "yazi-cwd.XXXXX")
|
set tmp (mktemp -t "yazi-cwd.XXXXX")
|
||||||
yazi $argv --cwd-file="$tmp"
|
yazi $argv --cwd-file="$tmp"
|
||||||
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
|
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
|
||||||
cd -- "$cwd"
|
cd "$cwd"
|
||||||
end
|
end
|
||||||
rm -f -- "$tmp"
|
rm -f -- "$tmp"
|
||||||
end
|
end
|
||||||
@@ -133,6 +138,16 @@ if type -q bat
|
|||||||
alias cat='bat --style header --style snip --style changes --style header'
|
alias cat='bat --style header --style snip --style changes --style header'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Replace yay with paru
|
||||||
|
if type -q paru
|
||||||
|
alias yay='paru'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Replace cd with zoxide
|
||||||
|
if type -q zoxide
|
||||||
|
alias cd='z'
|
||||||
|
end
|
||||||
|
|
||||||
# Common use
|
# Common use
|
||||||
alias :q=exit
|
alias :q=exit
|
||||||
alias ipn='ip'
|
alias ipn='ip'
|
||||||
@@ -140,6 +155,7 @@ alias nano=nvim
|
|||||||
alias cls='clear'
|
alias cls='clear'
|
||||||
alias please='sudo'
|
alias please='sudo'
|
||||||
alias ip='ip -color'
|
alias ip='ip -color'
|
||||||
|
alias wip=curl https://ipinfo.io/ip
|
||||||
alias mkdirs='mkdir --parents'
|
alias mkdirs='mkdir --parents'
|
||||||
alias grubup="sudo update-grub"
|
alias grubup="sudo update-grub"
|
||||||
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
||||||
@@ -154,15 +170,16 @@ alias ..='cd ..'
|
|||||||
alias ...='cd ../..'
|
alias ...='cd ../..'
|
||||||
alias ....='cd ../../..'
|
alias ....='cd ../../..'
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
alias fgrep='grep -F --color=auto'
|
alias grepf='grep -F --color=auto'
|
||||||
alias egrep='grep -E --color=auto'
|
alias grepe='grep -E --color=auto'
|
||||||
alias igrep='grep -i --color=auto'
|
alias grepi='grep -i --color=auto'
|
||||||
alias hw='hwinfo --short' # Hardware Info
|
alias hw='hwinfo --short' # Hardware Info
|
||||||
alias bigpkg="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
|
alias bigpkg="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
|
||||||
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
||||||
alias cleanup='sudo pacman -Rns (pacman -Qtdq)' # Cleanup orphaned packages
|
alias cleanup='sudo pacman -Rns (pacman -Qtdq)' # Cleanup orphaned packages
|
||||||
alias jctl="journalctl -p 3 -xb" # Get the error messages from journalctl
|
alias jctl="journalctl -p 3 -xb" # Get the error messages from journalctl
|
||||||
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" # Recent installed packages
|
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" # Recent installed packages
|
||||||
|
alias h="cliphist list | fzf | cliphist decode | wl-copy"
|
||||||
|
|
||||||
# Get fastest mirrors
|
# Get fastest mirrors
|
||||||
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
||||||
@@ -170,11 +187,9 @@ alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/p
|
|||||||
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
|
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
|
||||||
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
|
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
|
||||||
|
|
||||||
## Run fastfetch if session is interactive
|
## Run fastfetch
|
||||||
if status --is-interactive
|
if status --is-interactive
|
||||||
if type -q fastfetch
|
if type -q fastfetch
|
||||||
fastfetch -l arch
|
fastfetch -l arch
|
||||||
else if type -q neofetch
|
|
||||||
neofetch --ascii_distro arch
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
- fish
|
- fish
|
||||||
- fish-done
|
- fish-done
|
||||||
- fastfetch
|
- fastfetch
|
||||||
use: paru
|
- zoxide
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: "[Fish] Create config folder"
|
- name: "[Fish] Create config folder"
|
||||||
@@ -18,3 +18,9 @@
|
|||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "./"
|
src: "./"
|
||||||
dest: "{{ ansible_user_dir }}/.config/fish"
|
dest: "{{ ansible_user_dir }}/.config/fish"
|
||||||
|
|
||||||
|
- name: "[Fish] Set shell"
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: "sudo usermod -s $(which fish) {{ username }}"
|
||||||
|
become: true
|
||||||
|
ignore_errors: true
|
||||||
|
|||||||
0
roles/hypr/files/devices.conf
Normal file → Executable file
0
roles/hypr/files/devices.conf
Normal file → Executable file
@@ -1,12 +1,9 @@
|
|||||||
# Environment
|
# Environment
|
||||||
env = XCURSOR_SIZE,24
|
env = XCURSOR_SIZE,24
|
||||||
|
env = XCURSOR_THEME,Breeze
|
||||||
env = HYPRCURSOR_SIZE,24
|
env = HYPRCURSOR_SIZE,24
|
||||||
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
|
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
|
||||||
env = XDG_SESSION_TYPE,wayland
|
env = XDG_SESSION_TYPE,wayland
|
||||||
env = WLR_NO_HARDWARE_CURSORS,1
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
env = QT_QPA_PLATFORMTHEME,gtk3
|
||||||
#env = QT_QPA_PLATFORM,wayland
|
env = QT_STYLE_OVERRIDE,qt5ct
|
||||||
env = QT_STYLE_OVERRIDE,kvantum
|
|
||||||
|
|
||||||
# Minecraft
|
|
||||||
env = __GL_THREADED_OPTIMIZATIONS,0
|
|
||||||
|
|||||||
17
roles/hypr/files/hyprland.conf
Normal file → Executable file
17
roles/hypr/files/hyprland.conf
Normal file → Executable file
@@ -18,7 +18,7 @@ source = ~/.config/hypr/devices.conf
|
|||||||
|
|
||||||
# Input
|
# Input
|
||||||
input {
|
input {
|
||||||
kb_layout = de
|
kb_layout = us
|
||||||
numlock_by_default = 1
|
numlock_by_default = 1
|
||||||
|
|
||||||
follow_mouse = 1
|
follow_mouse = 1
|
||||||
@@ -54,11 +54,6 @@ decoration {
|
|||||||
blurls = rofi
|
blurls = rofi
|
||||||
blurls = gtk-layer-shell
|
blurls = gtk-layer-shell
|
||||||
}
|
}
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Animations
|
# Animations
|
||||||
@@ -81,16 +76,6 @@ dwindle {
|
|||||||
preserve_split = yes
|
preserve_split = yes
|
||||||
}
|
}
|
||||||
|
|
||||||
# Master
|
|
||||||
master {
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
|
|
||||||
# Gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = on
|
|
||||||
}
|
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
misc {
|
misc {
|
||||||
#mouse_move_enables_dpms = true
|
#mouse_move_enables_dpms = true
|
||||||
|
|||||||
@@ -7,16 +7,14 @@ bind = $mainMod, DELETE, exit,
|
|||||||
bind = $mainMod, C, killactive,
|
bind = $mainMod, C, killactive,
|
||||||
bind = $mainMod, M, fullscreen,
|
bind = $mainMod, M, fullscreen,
|
||||||
bind = $mainMod, S, togglesplit,
|
bind = $mainMod, S, togglesplit,
|
||||||
bind = $mainMod, F4, exec, wlogout
|
|
||||||
bind = $mainMod, F, togglefloating,
|
bind = $mainMod, F, togglefloating,
|
||||||
bind = $mainMod, N, exec, swaync-client -t -sw
|
bind = $mainMod, O, global, caelestia:lock
|
||||||
bind = $mainMod SHIFT, P, exec, hyprpicker -n -a -r
|
bind = $mainMod, G, global, caelestia:dashboard
|
||||||
bind = $mainMod, O, exec, ~/.config/hypr/scripts/lock.sh
|
bind = $mainMod, F4, exec, ags -t powermenu
|
||||||
bind = $mainMod, B, exec, ~/.config/hypr/scripts/game_mode.sh
|
bind = $mainMod, SPACE, global, caelestia:launcher
|
||||||
bind = $mainMod, V, exec, pkill rofi || ~/.config/hypr/scripts/clipboard.sh c
|
bind = $mainMod, TAB, exec, ags -t overview
|
||||||
bind = $mainMod, TAB, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh w
|
bind = $mainMod, V, exec, caelestia clipboard
|
||||||
bind = $mainMod, COMMA, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh e
|
bind = $mainMod, COMMA, exec, caelestia emoji -p
|
||||||
bindr = $mainMod, SUPER_L, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh d
|
|
||||||
bind = $mainMod SHIFT, S, exec, grimblast --freeze copy area
|
bind = $mainMod SHIFT, S, exec, grimblast --freeze copy area
|
||||||
bind = $mainMod CTRL, S, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/"$(date --rfc-3339=seconds)".png
|
bind = $mainMod CTRL, S, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/"$(date --rfc-3339=seconds)".png
|
||||||
|
|
||||||
@@ -25,18 +23,19 @@ bind = , XF86AudioNext, exec, playerctl next
|
|||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPrev, exec, playerctl previous
|
||||||
bind = , XF86AudioPlay, exec, playerctl play
|
bind = , XF86AudioPlay, exec, playerctl play
|
||||||
bind = , XF86AudioPause, exec, playerctl pause
|
bind = , XF86AudioPause, exec, playerctl pause
|
||||||
bind = , XF86AudioMute, exec, ~/.config/eww/scripts/audio.sh mutesink @DEFAULT_SINK@
|
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
bind = , XF86AudioMicMute, exec, ~/.config/eww/scripts/audio.sh mutesource @DEFAULT_SOURCE@
|
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
binde = , XF86AudioRaiseVolume, exec, ~/.config/eww/scripts/audio.sh vol up
|
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%+
|
||||||
binde = , XF86AudioLowerVolume, exec, ~/.config/eww/scripts/audio.sh vol down
|
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%-
|
||||||
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||||
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||||
|
#bind = , XF86PowerOff, exec, systemctl shutdown
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
bind = $mainMod, T, exec, alacritty
|
bind = $mainMod, T, exec, alacritty
|
||||||
bind = $mainMod, E, exec, nemo
|
bind = $mainMod, E, exec, nemo
|
||||||
bind = $mainMod, G, exec, ~/.config/hypr/scripts/app_launcher.sh c
|
bind = $mainMod, G, exec, ags -t calc
|
||||||
bind = CTRL SHIFT, ESCAPE, exec, gnome-system-monitor
|
bind = CTRL SHIFT, ESCAPE, exec, alacritty -e btop
|
||||||
|
|
||||||
# Move focus
|
# Move focus
|
||||||
bind = $mainMod, left, movefocus, l
|
bind = $mainMod, left, movefocus, l
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
rofi_conf="~/.config/rofi/main.rasi"
|
|
||||||
|
|
||||||
# Rofi action
|
|
||||||
case $1 in
|
|
||||||
d) mode="drun" ;;
|
|
||||||
w) mode="window" ;;
|
|
||||||
f) mode="filebrowser" ;;
|
|
||||||
e) mode="emoji"
|
|
||||||
action=(-a copy)
|
|
||||||
;;
|
|
||||||
c) mode="calc"
|
|
||||||
action=(-calc-command "wl-copy {result}")
|
|
||||||
children="\"message\", "
|
|
||||||
;;
|
|
||||||
h) echo -e "$0 [action]"
|
|
||||||
echo "d : drun mode"
|
|
||||||
echo "w : window mode"
|
|
||||||
echo "f : filebrowser mode"
|
|
||||||
exit 0 ;;
|
|
||||||
*) mode="drun" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Get font
|
|
||||||
font=`gsettings get org.gnome.desktop.interface font-name`
|
|
||||||
fnt_override="configuration {font: \"${font//\'}\";}"
|
|
||||||
|
|
||||||
# Get icon theme
|
|
||||||
icon_override=`gsettings get org.gnome.desktop.interface icon-theme | sed "s/'//g"`
|
|
||||||
icon_override="configuration {icon-theme: \"${icon_override}\";}"
|
|
||||||
|
|
||||||
# Children
|
|
||||||
children_ovr="mainbox {children: [\"inputbar\", $children \"listbox\"];}"
|
|
||||||
|
|
||||||
# Launch rofi
|
|
||||||
rofi -show $mode ${action[0]} "${action[1]}" -theme-str "$children_ovr" -theme-str "$fnt_override" -theme-str "$icon_override" -config "$rofi_conf"
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#set -e # Exit immediately if a command exits with a non-zero status. (deprecated) -> [CMD] || exit 1
|
|
||||||
|
|
||||||
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
|
||||||
echo "Usage:
|
|
||||||
$0 <dir containing images> [interval(seconds)]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Check running
|
|
||||||
running=$(ps -ef | grep "$0" | grep -v grep | wc -l)
|
|
||||||
if [ ${running} -gt 2 ]; then
|
|
||||||
echo "Script already running! Killing others (TODO)..."
|
|
||||||
exit 1
|
|
||||||
# CRASHES EVERYTHING \/ !!!!!!!!!!
|
|
||||||
script_pids=$(ps aux | grep -E "$script_name" | grep -v "grep" | awk -v pid="$current_pid" '$2 != pid {print $2}')
|
|
||||||
|
|
||||||
# Loop through the PIDs and kill the processes
|
|
||||||
for pid in $script_pids; do
|
|
||||||
echo "Killing process $pid"
|
|
||||||
kill "$pid"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Start swww
|
|
||||||
swww init &> /dev/null
|
|
||||||
|
|
||||||
## Settings for swww
|
|
||||||
export SWWW_TRANSITION_FPS=60
|
|
||||||
export SWWW_TRANSITION_STEP=2
|
|
||||||
INTERVAL=300
|
|
||||||
if [ ! -z $2 ]; then
|
|
||||||
INTERVAL=$2
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Main loop
|
|
||||||
while true; do
|
|
||||||
find "$1" \
|
|
||||||
| while read -r img; do
|
|
||||||
echo "$((RANDOM % 1000)):$img"
|
|
||||||
done \
|
|
||||||
| sort -n | cut -d':' -f2- \
|
|
||||||
| while read -r img; do
|
|
||||||
img=${img/\~/$HOME}
|
|
||||||
if [ -d $img ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
swww img "$img" --transition-type wipe --resize=fit
|
|
||||||
ln -sf "$img" ~/.config/background
|
|
||||||
sleep $INTERVAL
|
|
||||||
done
|
|
||||||
done
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
roconf="~/.config/rofi/clipboard.rasi"
|
|
||||||
|
|
||||||
# Read font
|
|
||||||
font=`gsettings get org.gnome.desktop.interface font-name`
|
|
||||||
fnt_override="configuration {font: \"${font//\'}\";}"
|
|
||||||
|
|
||||||
# Clipboard action
|
|
||||||
case $1 in
|
|
||||||
c) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Copy...\";}" -theme-str "$fnt_override" -config $roconf | cliphist decode | wl-copy
|
|
||||||
;;
|
|
||||||
d) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Delete...\";}" -theme-str "$fnt_override" -config $roconf | cliphist delete
|
|
||||||
;;
|
|
||||||
w) if [ `echo -e "Yes\nNo" | rofi -dmenu -theme-str "entry { placeholder: \"Clear Clipboard History?\";}" -theme-str "$fnt_override" -config $roconf` == "Yes" ] ; then
|
|
||||||
cliphist wipe
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*) echo -e "$0 [action]"
|
|
||||||
echo "c : cliphist list and copy selected"
|
|
||||||
echo "d : cliphist list and delete selected"
|
|
||||||
echo "w : cliphist wipe database"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
HYPRCMDS=$(hyprctl -j clients | jq -j '.[] | "dispatch closewindow address:\(.address); "')
|
|
||||||
|
|
||||||
hyprctl --batch "$HYPRCMDS" >> /tmp/hypr/cexit.log 2>&1
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
isplayingvideo(){
|
|
||||||
if pactl list | grep -q RUNNING; then
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! [ -z $1 ]; then
|
|
||||||
isplayingvideo
|
|
||||||
fi
|
|
||||||
|
|
||||||
timeout_lock=900
|
|
||||||
timeout_DPMS=1080
|
|
||||||
|
|
||||||
swayidle -w \
|
|
||||||
timeout ${timeout_lock} "$0 isplayinfvideo || ~/.config/hypr/scripts/lock.sh" \
|
|
||||||
#timeout ${timeout_DPMS} 'hyprctl dispatch dpms off'
|
|
||||||
#resume 'hyprctl dispatch dpms on' # Crashes all apps -> Hyprland config set misc/mouse_move_enables_dpms=true
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dnd=$(swaync-client -D)
|
|
||||||
|
|
||||||
swaync-client -dn
|
|
||||||
swaylock -C ~/.config/swaylock/swaylock.conf
|
|
||||||
|
|
||||||
if [ "$dnd" == "false" ]; then
|
|
||||||
swaync-client -df
|
|
||||||
fi
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
HYPRCMDS=$(hyprctl -j clients | jq -j '.[] | "dispatch closewindow address:\(.address); "')
|
|
||||||
|
|
||||||
hyprctl --batch "$HYPRCMDS" >> /tmp/hypr/cexit.log 2>&1
|
|
||||||
hyprctl dispatch exit >> /tmp/hypr/cexit.log 2>&1
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
program_name="ags"
|
|
||||||
|
|
||||||
check_program_running() {
|
|
||||||
pgrep -x "$program_name" > /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
while ! check_program_running; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
@@ -1,18 +1,34 @@
|
|||||||
---
|
---
|
||||||
- name: "[Hyprland] Install"
|
- name: "[Hyprland] Install"
|
||||||
ansible.builtin.package:
|
kewlfft.aur.aur:
|
||||||
name:
|
name:
|
||||||
- hyprland
|
- hyprland
|
||||||
state: latest
|
state: present
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[Hyprland] Create config folder"
|
- name: "[Hyprland] Create config folder"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
mode: "0755"
|
mode: 0755
|
||||||
path: "{{ ansible_user_dir }}/.config/hypr"
|
path: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Hyprland] Create screenshot folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: 0755
|
||||||
|
path: "{{ ansible_user_dir }}/Pictures/Screenshots"
|
||||||
|
state: directory
|
||||||
|
|
||||||
- name: "[Hyprland] Configure"
|
- name: "[Hyprland] Configure"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
|
mode: 0755
|
||||||
src: "./"
|
src: "./"
|
||||||
dest: "{{ ansible_user_dir }}/.config/hypr"
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
|
||||||
|
- name: "[Hyprland] Configure startup"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: startup.conf
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
|
||||||
|
- name: "[Hyprland] Configure windowrules"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: windowrule.conf
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
|||||||
@@ -1,23 +1,19 @@
|
|||||||
# First for systray
|
# Shell
|
||||||
exec-once = ags -c /home/keule/test/config.js
|
exec-once = caelestia shell -d
|
||||||
|
|
||||||
# Programms
|
# Programms
|
||||||
exec-once = armcord
|
{% if system == "desktop_full" %}
|
||||||
|
exec-once = legcord
|
||||||
|
exec-once = feishin
|
||||||
exec-once = nextcloud
|
exec-once = nextcloud
|
||||||
exec-once = youtube-music
|
{% endif %}
|
||||||
exec-once = element-desktop
|
|
||||||
exec-once = nm-applet
|
exec-once = nm-applet
|
||||||
exec-once = blueman-applet
|
exec-once = blueman-applet
|
||||||
exec-once = playerctld daemon
|
exec-once = playerctld daemon
|
||||||
exec-once = ~/.config/hypr/scripts/idle.sh
|
|
||||||
exec-once = ~/.config/hypr/scripts/battery_check.sh
|
|
||||||
|
|
||||||
# Clipboard
|
# Clipboard
|
||||||
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||||
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
||||||
|
|
||||||
# Background
|
|
||||||
exec-once = ~/.config/hypr/scripts/background.sh ~/Data/Pictures/Backgrounds/Desktop/
|
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
# Monitors
|
# Monitors
|
||||||
|
{% if system == "desktop_full" %}
|
||||||
$monitorOne = HDMI-A-1
|
$monitorOne = HDMI-A-1
|
||||||
$monitorTwo = DP-2
|
$monitorTwo = DP-2
|
||||||
$monitorThree = HDMI-A-2
|
$monitorThree = HDMI-A-2
|
||||||
@@ -6,24 +7,21 @@ $monitorThree = HDMI-A-2
|
|||||||
monitor = $monitorOne,1920x1080@144.001007,0x0,1
|
monitor = $monitorOne,1920x1080@144.001007,0x0,1
|
||||||
monitor = $monitorTwo,2560x1440@143.912003,1920x0,1
|
monitor = $monitorTwo,2560x1440@143.912003,1920x0,1
|
||||||
monitor = $monitorThree,1920x1080@60.000000,4480x0,1
|
monitor = $monitorThree,1920x1080@60.000000,4480x0,1
|
||||||
|
{% endif %}
|
||||||
monitor = ,preferred,auto,1
|
monitor = ,preferred,auto,1
|
||||||
|
|
||||||
|
|
||||||
# Window Rules - (hyprctl -j clients | grep class)
|
# Window Rules - (hyprctl -j clients | grep class)
|
||||||
windowrule = workspace 2,^(YouTube Music)$
|
windowrule = workspace 2, class:feishin
|
||||||
windowrule = workspace 4,^(explorer.exe)$
|
windowrule = workspace 5, class:discord
|
||||||
windowrule = workspace 4,^(lutris)$
|
windowrule = workspace 5, class:legcord
|
||||||
windowrule = workspace 5,^(discord)$
|
|
||||||
windowrule = workspace 5,^(WebCord)$
|
|
||||||
windowrule = workspace 5,^(Element)$
|
|
||||||
windowrule = workspace 5,^(de.keule.client.ui.JavaFX)$
|
|
||||||
|
|
||||||
windowrule = float,^(lutris)$
|
|
||||||
windowrule = size 965 545, ^(lutris)$
|
|
||||||
windowrule = float,title:^.*culator.*$
|
|
||||||
|
|
||||||
|
# windowrule = float,class:lutris
|
||||||
|
# windowrule = size 965 545, class:lutris
|
||||||
|
# windowrule = float,title:^.*culator.*$
|
||||||
|
|
||||||
# Workspace
|
# Workspace
|
||||||
|
{% if system == "desktop_full" %}
|
||||||
workspace = 1, monitor:$monitorOne, default:true
|
workspace = 1, monitor:$monitorOne, default:true
|
||||||
workspace = 2, monitor:$monitorOne
|
workspace = 2, monitor:$monitorOne
|
||||||
|
|
||||||
@@ -32,3 +30,4 @@ workspace = 4, monitor:$monitorTwo
|
|||||||
|
|
||||||
workspace = 5, monitor:$monitorThree, default:true
|
workspace = 5, monitor:$monitorThree, default:true
|
||||||
workspace = 6, monitor:$monitorThree
|
workspace = 6, monitor:$monitorThree
|
||||||
|
{% endif %}
|
||||||
@@ -1,18 +1,17 @@
|
|||||||
---
|
---
|
||||||
- name: "[Kvantum] Install"
|
- name: "[Kvantum] Install"
|
||||||
ansible.builtin.package:
|
kewlfft.aur.aur:
|
||||||
name:
|
name:
|
||||||
- kvantum
|
- kvantum-qt5-git
|
||||||
state: latest
|
state: present
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[Kvantum] Create config folder"
|
- name: "[Kvantum] Create config folder"
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
path: "{{ ansible_user_dir }}/.config/kvantum"
|
path: "{{ ansible_user_dir }}/.config/Kvantum"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: "[Kvantum] Configure"
|
- name: "[Kvantum] Configure"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "./"
|
src: "./"
|
||||||
dest: "{{ ansible_user_dir }}/.config/kvantum"
|
dest: "{{ ansible_user_dir }}/.config/Kvantum"
|
||||||
|
|||||||
159
roles/nvim/files/init.lua
Executable file → Normal file
159
roles/nvim/files/init.lua
Executable file → Normal file
@@ -18,30 +18,33 @@ vim.opt.rtp:prepend(lazypath)
|
|||||||
|
|
||||||
-- Add Plugins
|
-- Add Plugins
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
-- Stats
|
|
||||||
{ 'wakatime/vim-wakatime', lazy = false },
|
|
||||||
|
|
||||||
-- Theme
|
-- Theme
|
||||||
{
|
{
|
||||||
"catppuccin/nvim",
|
"catppuccin/nvim",
|
||||||
name = "catppuccin.vim",
|
name = "catppuccin.vim",
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
config = function()
|
config = function()
|
||||||
vim.g.catppuccin_flavor = "macchiato"
|
vim.cmd.colorscheme("catppuccin-macchiato")
|
||||||
vim.cmd [[colorscheme catppuccin]]
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Syntax highlighting support
|
-- Stats
|
||||||
"elkowar/yuck.vim",
|
{ 'wakatime/vim-wakatime', lazy = false },
|
||||||
"fladson/vim-kitty",
|
|
||||||
-- Use "gc" to comment visual regions/lines
|
-- Highlight
|
||||||
|
{ "RRethy/vim-illuminate" },
|
||||||
|
|
||||||
|
-- Comment visual regions/lines
|
||||||
{ "numToStr/Comment.nvim", opts = {} },
|
{ "numToStr/Comment.nvim", opts = {} },
|
||||||
|
|
||||||
-- Detect tabstop and shiftwidth automatically
|
-- Autoclose brackets
|
||||||
-- "tpope/vim-sleuth",
|
{ "m4xshen/autoclose.nvim", opts = {} },
|
||||||
|
{ "windwp/nvim-ts-autotag", opts = {}, lazy = false }, -- Doesn't work?
|
||||||
|
|
||||||
-- Add indentation guides even on blank lines ???
|
-- Surround selection
|
||||||
|
"tpope/vim-surround",
|
||||||
|
|
||||||
|
-- Add indentation guides
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
main = "ibl",
|
main = "ibl",
|
||||||
@@ -61,7 +64,18 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- LSP (Configuration under "lspconfig")
|
-- Debug
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
dependencies = {
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
"nvim-neotest/nvim-nio"
|
||||||
|
},
|
||||||
|
opts = {}
|
||||||
|
},
|
||||||
|
{ "theHamsta/nvim-dap-virtual-text", opts = {} },
|
||||||
|
|
||||||
|
-- LSP
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
@@ -70,7 +84,6 @@ require("lazy").setup({
|
|||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
|
||||||
-- Useful status updates for LSP
|
-- Useful status updates for LSP
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
|
||||||
{ "j-hui/fidget.nvim", tag = "legacy", opts = {} },
|
{ "j-hui/fidget.nvim", tag = "legacy", opts = {} },
|
||||||
|
|
||||||
-- Additional lua configuration, makes nvim stuff amazing!
|
-- Additional lua configuration, makes nvim stuff amazing!
|
||||||
@@ -91,8 +104,12 @@ require("lazy").setup({
|
|||||||
|
|
||||||
-- Adds a number of user-friendly snippets
|
-- Adds a number of user-friendly snippets
|
||||||
'rafamadriz/friendly-snippets',
|
'rafamadriz/friendly-snippets',
|
||||||
|
|
||||||
|
-- Ai cmp
|
||||||
|
'tzachar/cmp-ai'
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{ 'tzachar/cmp-ai', dependencies = 'nvim-lua/plenary.nvim' },
|
||||||
|
|
||||||
-- Show available command
|
-- Show available command
|
||||||
{
|
{
|
||||||
@@ -235,6 +252,72 @@ vim.keymap.set("n", "<C-j>", "<C-W>j")
|
|||||||
vim.keymap.set("n", "<C-k>", "<C-W>k")
|
vim.keymap.set("n", "<C-k>", "<C-W>k")
|
||||||
vim.keymap.set("n", "<C-l>", "<C-W>l")
|
vim.keymap.set("n", "<C-l>", "<C-W>l")
|
||||||
|
|
||||||
|
--- Debug
|
||||||
|
local dap, dapui, dapvs = require("dap"), require("dapui"), require('dap.ext.vscode')
|
||||||
|
vim.keymap.set("n", "<Leader>b", dap.toggle_breakpoint, { desc = "[b] Debug toggle breakpoint" })
|
||||||
|
vim.keymap.set("n", "<Leader>dc", dap.continue, { desc = "[c] Debug Continue/Start" })
|
||||||
|
vim.keymap.set("n", "<Leader>n", dap.step_over, { desc = "[n] Debug step over" })
|
||||||
|
vim.keymap.set("n", "<Leader>N", dap.step_into, { desc = "[N] Debug step into" })
|
||||||
|
vim.keymap.set("n", "<Leader>m", dap.step_out, { desc = "[m] Debug step out" })
|
||||||
|
vim.keymap.set("n", "<Leader>dt", dapui.toggle, { desc = "[t] Debug toggle view" })
|
||||||
|
vim.keymap.set("n", "<Leader>dl", function()
|
||||||
|
dapvs.load_launchjs("launch.json", { cppdbg = { 'c', 'cpp' } })
|
||||||
|
end,
|
||||||
|
{ desc = "[l] Debug load launch config" })
|
||||||
|
|
||||||
|
dap.listeners.before.attach.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.listeners.before.launch.dapui_config = function()
|
||||||
|
dapui.open()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- dap.listeners.before.event_terminated.dapui_config = function()
|
||||||
|
-- dapui.close()
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- dap.listeners.before.event_exited.dapui_config = function()
|
||||||
|
-- dapui.close()
|
||||||
|
-- end
|
||||||
|
dap.adapters.cppdbg = {
|
||||||
|
id = "cppdbg",
|
||||||
|
type = "executable",
|
||||||
|
command = "/home/pa/dap/c/extension/debugAdapters/bin/OpenDebugAD7",
|
||||||
|
}
|
||||||
|
dap.configurations.c = {
|
||||||
|
{
|
||||||
|
name = "Launch file",
|
||||||
|
type = "cppdbg",
|
||||||
|
request = "launch",
|
||||||
|
program = function()
|
||||||
|
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||||
|
end,
|
||||||
|
args = function()
|
||||||
|
local s = vim.fn.input('Args: ')
|
||||||
|
local t = {}
|
||||||
|
for word in s:gmatch("%S+") do
|
||||||
|
table.insert(t, word)
|
||||||
|
end
|
||||||
|
return t
|
||||||
|
end,
|
||||||
|
cwd = '${workspaceFolder}',
|
||||||
|
stopAtEntry = true,
|
||||||
|
},
|
||||||
|
-- {
|
||||||
|
-- name = 'Attach to gdbserver :1234',
|
||||||
|
-- type = 'cppdbg',
|
||||||
|
-- request = 'launch',
|
||||||
|
-- MIMode = 'gdb',
|
||||||
|
-- miDebuggerServerAddress = 'localhost:1234',
|
||||||
|
-- miDebuggerPath = '/usr/bin/gdb',
|
||||||
|
-- cwd = '${workspaceFolder}',
|
||||||
|
-- program = function()
|
||||||
|
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
||||||
--- [[ Highlight on yank ]]
|
--- [[ Highlight on yank ]]
|
||||||
-- See `:help vim.highlight.on_yank()`
|
-- See `:help vim.highlight.on_yank()`
|
||||||
local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
|
local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
|
||||||
@@ -374,8 +457,8 @@ local on_attach = function(_, bufnr)
|
|||||||
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
||||||
nmap("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
nmap("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||||
nmap("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
nmap("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
||||||
|
nmap("ds", require("telescope.builtin").lsp_document_symbols, "[D]ocument [S]ymbols")
|
||||||
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition")
|
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition")
|
||||||
nmap("<leader>ds", require("telescope.builtin").lsp_document_symbols, "[D]ocument [S]ymbols")
|
|
||||||
nmap("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]ymbols")
|
nmap("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]ymbols")
|
||||||
|
|
||||||
-- See `:help K` for why this keymap
|
-- See `:help K` for why this keymap
|
||||||
@@ -386,6 +469,7 @@ local on_attach = function(_, bufnr)
|
|||||||
nmap("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
nmap("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||||
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder")
|
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder")
|
||||||
nmap("<leader>wr", vim.lsp.buf.remove_workspace_folder, "[W]orkspace [R]emove Folder")
|
nmap("<leader>wr", vim.lsp.buf.remove_workspace_folder, "[W]orkspace [R]emove Folder")
|
||||||
|
nmap("<leader>f", vim.lsp.buf.format, "[F]ormat")
|
||||||
nmap("<leader>wl", function()
|
nmap("<leader>wl", function()
|
||||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
end, "[W]orkspace [L]ist Folders")
|
end, "[W]orkspace [L]ist Folders")
|
||||||
@@ -422,12 +506,22 @@ local servers = {
|
|||||||
jsonls = {},
|
jsonls = {},
|
||||||
clangd = {},
|
clangd = {},
|
||||||
cssls = {},
|
cssls = {},
|
||||||
jdtls = {},
|
jdtls = {
|
||||||
|
java = {
|
||||||
|
maven = { downloadSources = true }
|
||||||
|
}
|
||||||
|
},
|
||||||
html = {},
|
html = {},
|
||||||
lua_ls = {
|
lua_ls = {
|
||||||
Lua = {
|
Lua = {
|
||||||
workspace = { checkThirdParty = false },
|
workspace = {
|
||||||
|
library = vim.api.nvim_get_runtime_file('', true),
|
||||||
|
checkThirdParty = false
|
||||||
|
},
|
||||||
telemetry = { enable = false },
|
telemetry = { enable = false },
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "vim" }
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -502,8 +596,39 @@ cmp.setup {
|
|||||||
sources = {
|
sources = {
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "luasnip" },
|
{ name = "luasnip" },
|
||||||
|
-- { name = "cmp_ai" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- local cmp_ai = require('cmp_ai.config')
|
||||||
|
-- cmp_ai:setup({
|
||||||
|
-- max_lines = 100,
|
||||||
|
-- provider = 'Ollama',
|
||||||
|
-- provider_options = {
|
||||||
|
-- model = 'mistral',
|
||||||
|
-- },
|
||||||
|
-- notify = true,
|
||||||
|
-- notify_callback = function(msg)
|
||||||
|
-- vim.notify(msg)
|
||||||
|
-- end,
|
||||||
|
-- run_on_every_keystroke = true,
|
||||||
|
-- ignored_file_types = {
|
||||||
|
-- -- default is not to ignore
|
||||||
|
-- -- uncomment to ignore in lua:
|
||||||
|
-- -- lua = true
|
||||||
|
-- },
|
||||||
|
-- })
|
||||||
|
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||||
|
-- vim: ts=2 sts=2 sw=2 et
|
||||||
|
-- notify_callback = function(msg)
|
||||||
|
-- vim.notify(msg)
|
||||||
|
-- end,
|
||||||
|
-- run_on_every_keystroke = true,
|
||||||
|
-- ignored_file_types = {
|
||||||
|
-- -- default is not to ignore
|
||||||
|
-- -- uncomment to ignore in lua:
|
||||||
|
-- -- lua = true
|
||||||
|
-- },
|
||||||
|
-- })
|
||||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
-- vim: ts=2 sts=2 sw=2 et
|
||||||
|
|||||||
17
roles/nwg-look/files/.config/gtk-3.0/settings.ini
Normal file
17
roles/nwg-look/files/.config/gtk-3.0/settings.ini
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Catppuccin-Macchiato-Standard-Sapphire-Dark
|
||||||
|
gtk-icon-theme-name=Papirus
|
||||||
|
gtk-font-name=CaskaydiaCove Nerd Font 12
|
||||||
|
gtk-cursor-theme-name=Breeze
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=0
|
||||||
|
gtk-menu-images=0
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=0
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle=hintslight
|
||||||
|
gtk-xft-rgba=rgb
|
||||||
|
gtk-application-prefer-dark-theme=0
|
||||||
9
roles/nwg-look/files/.config/xsettingsd/xsettingsd.conf
Normal file
9
roles/nwg-look/files/.config/xsettingsd/xsettingsd.conf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Net/ThemeName "Catppuccin-Macchiato-Standard-Sapphire-Dark"
|
||||||
|
Net/IconThemeName "Papirus"
|
||||||
|
Gtk/CursorThemeName "Breeze"
|
||||||
|
Net/EnableEventSounds 1
|
||||||
|
EnableInputFeedbackSounds 0
|
||||||
|
Xft/Antialias 1
|
||||||
|
Xft/Hinting 1
|
||||||
|
Xft/HintStyle "hintslight"
|
||||||
|
Xft/RGBA "rgb"
|
||||||
19
roles/nwg-look/files/.gtkrc-2.0
Normal file
19
roles/nwg-look/files/.gtkrc-2.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# DO NOT EDIT! This file will be overwritten by nwg-look.
|
||||||
|
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||||
|
|
||||||
|
include "/home/keule/.gtkrc-2.0.mine"
|
||||||
|
gtk-theme-name="Catppuccin-Macchiato-Standard-Sapphire-Dark"
|
||||||
|
gtk-icon-theme-name="Papirus"
|
||||||
|
gtk-font-name="CaskaydiaCove Nerd Font 12"
|
||||||
|
gtk-cursor-theme-name="Breeze"
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=0
|
||||||
|
gtk-menu-images=0
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=0
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle="hintslight"
|
||||||
|
gtk-xft-rgba="rgb"
|
||||||
11
roles/nwg-look/tasks/main.yml
Normal file
11
roles/nwg-look/tasks/main.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
- name: "[NWG-look] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- nwg-look
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[NWG-look] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/"
|
||||||
32
roles/qt5ct/files/qt5ct.conf
Normal file
32
roles/qt5ct/files/qt5ct.conf
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
[Appearance]
|
||||||
|
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
|
||||||
|
custom_palette=false
|
||||||
|
icon_theme=Papirus
|
||||||
|
standard_dialogs=default
|
||||||
|
style=kvantum-dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed="CaskaydiaCove Nerd Font Mono,12,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
general="CaskaydiaCove Nerd Font,12,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
|
|
||||||
|
[SettingsWindow]
|
||||||
|
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\fw\0\0\x2\xb7\0\0\0\0\0\0\0\0\0\0\x4\xff\0\0\x2\xbe\0\0\0\0\x2\0\0\0\n\0\0\0\a\x80\0\0\0\0\0\0\fw\0\0\x2\xb7)
|
||||||
|
|
||||||
|
[Troubleshooting]
|
||||||
|
force_raster_widgets=1
|
||||||
|
ignored_applications=@Invalid()
|
||||||
17
roles/qt5ct/tasks/main.yml
Normal file
17
roles/qt5ct/tasks/main.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- name: "[QT5CT] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- qt5ct
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[QT5CT] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/qt5ct"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[QT5CT] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/qt5ct"
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import SddmComponents 2.0
|
||||||
|
|
||||||
|
Clock {
|
||||||
|
id: time
|
||||||
|
color: config.text
|
||||||
|
timeFont.family: config.Font
|
||||||
|
dateFont.family: config.Font
|
||||||
|
anchors {
|
||||||
|
margins: 10
|
||||||
|
top: parent.top
|
||||||
|
right: parent.right
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Window 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
property var user: userField.text
|
||||||
|
property var password: passwordField.text
|
||||||
|
property var session: sessionPanel.session
|
||||||
|
property var inputHeight: Screen.height * 0.032
|
||||||
|
property var inputWidth: Screen.width * 0.16
|
||||||
|
Rectangle {
|
||||||
|
id: loginBackground
|
||||||
|
anchors {
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
horizontalCenter: parent.horizontalCenter
|
||||||
|
}
|
||||||
|
height: inputHeight * 5.3
|
||||||
|
width: inputWidth * 1.2
|
||||||
|
radius: 5
|
||||||
|
visible: config.LoginBackground == "true" ? true : false
|
||||||
|
color: config.mantle
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
spacing: 8
|
||||||
|
anchors {
|
||||||
|
bottom: parent.bottom
|
||||||
|
left: parent.left
|
||||||
|
}
|
||||||
|
PowerButton {
|
||||||
|
id: powerButton
|
||||||
|
}
|
||||||
|
RebootButton {
|
||||||
|
id: rebootButton
|
||||||
|
}
|
||||||
|
SleepButton {
|
||||||
|
id: sleepButton
|
||||||
|
}
|
||||||
|
z: 5
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
spacing: 8
|
||||||
|
anchors {
|
||||||
|
bottom: parent.bottom
|
||||||
|
right: parent.right
|
||||||
|
}
|
||||||
|
SessionPanel {
|
||||||
|
id: sessionPanel
|
||||||
|
}
|
||||||
|
z: 5
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
spacing: 8
|
||||||
|
z: 5
|
||||||
|
width: inputWidth
|
||||||
|
anchors {
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
horizontalCenter: parent.horizontalCenter
|
||||||
|
}
|
||||||
|
UserField {
|
||||||
|
id: userField
|
||||||
|
height: inputHeight
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
PasswordField {
|
||||||
|
id: passwordField
|
||||||
|
height: inputHeight
|
||||||
|
width: parent.width
|
||||||
|
onAccepted: loginButton.clicked()
|
||||||
|
}
|
||||||
|
Button {
|
||||||
|
id: loginButton
|
||||||
|
height: inputHeight
|
||||||
|
width: parent.width
|
||||||
|
enabled: user != "" && password != "" ? true : false
|
||||||
|
hoverEnabled: true
|
||||||
|
contentItem: Text {
|
||||||
|
id: buttonText
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font {
|
||||||
|
family: config.Font
|
||||||
|
pointSize: config.FontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
color: config.crust
|
||||||
|
text: "Login"
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: buttonBackground
|
||||||
|
color: config.sapphire
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "pressed"
|
||||||
|
when: loginButton.down
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonBackground
|
||||||
|
color: config.teal
|
||||||
|
}
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonText
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: loginButton.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonBackground
|
||||||
|
color: config.teal
|
||||||
|
}
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonText
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "enabled"
|
||||||
|
when: loginButton.enabled
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonBackground
|
||||||
|
}
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonText
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onClicked: {
|
||||||
|
sddm.login(user, password, session)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Connections {
|
||||||
|
target: sddm
|
||||||
|
|
||||||
|
function onLoginFailed() {
|
||||||
|
passwordField.text = ""
|
||||||
|
passwordField.focus = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
TextField {
|
||||||
|
id: passwordField
|
||||||
|
focus: true
|
||||||
|
selectByMouse: true
|
||||||
|
placeholderText: "Password"
|
||||||
|
echoMode: TextInput.Password
|
||||||
|
passwordCharacter: "•"
|
||||||
|
passwordMaskDelay: config.PasswordShowLastLetter
|
||||||
|
selectionColor: config.overlay0
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font.family: config.Font
|
||||||
|
font.pointSize: config.FontSize
|
||||||
|
font.bold: true
|
||||||
|
color: config.text
|
||||||
|
horizontalAlignment: TextInput.AlignHCenter
|
||||||
|
background: Rectangle {
|
||||||
|
id: passFieldBackground
|
||||||
|
radius: 3
|
||||||
|
color: config.surface0
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "focused"
|
||||||
|
when: passwordField.activeFocus
|
||||||
|
PropertyChanges {
|
||||||
|
target: passFieldBackground
|
||||||
|
color: config.surface1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: passwordField.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: passFieldBackground
|
||||||
|
color: config.surface1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
implicitHeight: powerButton.height
|
||||||
|
implicitWidth: powerButton.width
|
||||||
|
Button {
|
||||||
|
id: powerButton
|
||||||
|
height: inputHeight
|
||||||
|
width: inputHeight
|
||||||
|
hoverEnabled: true
|
||||||
|
icon {
|
||||||
|
source: Qt.resolvedUrl("../icons/power.svg")
|
||||||
|
height: height
|
||||||
|
width: width
|
||||||
|
color: config.crust
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: powerButtonBackground
|
||||||
|
radius: 3
|
||||||
|
color: config.red
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: powerButton.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: powerButtonBackground
|
||||||
|
color: config.rosewater
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onClicked: sddm.powerOff()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
implicitHeight: rebootButton.height
|
||||||
|
implicitWidth: rebootButton.width
|
||||||
|
Button {
|
||||||
|
id: rebootButton
|
||||||
|
height: inputHeight
|
||||||
|
width: inputHeight
|
||||||
|
hoverEnabled: true
|
||||||
|
icon {
|
||||||
|
source: Qt.resolvedUrl("../icons/reboot.svg")
|
||||||
|
height: height
|
||||||
|
width: width
|
||||||
|
color: config.crust
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: rebootButtonBackground
|
||||||
|
radius: 3
|
||||||
|
color: config.red
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: rebootButton.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: rebootButtonBackground
|
||||||
|
color: config.rosewater
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onClicked: sddm.reboot()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,156 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import QtQml.Models 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
property var session: sessionList.currentIndex
|
||||||
|
implicitHeight: sessionButton.height
|
||||||
|
implicitWidth: sessionButton.width
|
||||||
|
DelegateModel {
|
||||||
|
id: sessionWrapper
|
||||||
|
model: sessionModel
|
||||||
|
delegate: ItemDelegate {
|
||||||
|
id: sessionEntry
|
||||||
|
height: inputHeight
|
||||||
|
width: parent.width
|
||||||
|
highlighted: sessionList.currentIndex == index
|
||||||
|
contentItem: Text {
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font.family: config.Font
|
||||||
|
font.pointSize: config.FontSize
|
||||||
|
font.bold: true
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
color: config.text
|
||||||
|
text: name
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: sessionEntryBackground
|
||||||
|
color: config.surface1
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: sessionEntry.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: sessionEntryBackground
|
||||||
|
color: config.surface2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
property: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
sessionList.currentIndex = index
|
||||||
|
sessionPopup.close()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Button {
|
||||||
|
id: sessionButton
|
||||||
|
height: inputHeight
|
||||||
|
width: inputHeight
|
||||||
|
hoverEnabled: true
|
||||||
|
icon {
|
||||||
|
source: Qt.resolvedUrl("../icons/settings.svg")
|
||||||
|
height: height
|
||||||
|
width: width
|
||||||
|
color: config.text
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: sessionButtonBackground
|
||||||
|
color: config.surface0
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "pressed"
|
||||||
|
when: sessionButton.down
|
||||||
|
PropertyChanges {
|
||||||
|
target: sessionButtonBackground
|
||||||
|
color: config.surface1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: sessionButton.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: sessionButtonBackground
|
||||||
|
color: config.surface2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "selection"
|
||||||
|
when: sessionPopup.visible
|
||||||
|
PropertyChanges {
|
||||||
|
target: sessionButtonBackground
|
||||||
|
color: config.surface2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 150
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onClicked: {
|
||||||
|
sessionPopup.visible ? sessionPopup.close() : sessionPopup.open()
|
||||||
|
sessionButton.state = "pressed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Popup {
|
||||||
|
id: sessionPopup
|
||||||
|
width: inputWidth + padding * 2
|
||||||
|
x: (sessionButton.width + sessionList.spacing) * -7.6
|
||||||
|
y: -(contentHeight + padding * 2) + sessionButton.height
|
||||||
|
padding: inputHeight / 10
|
||||||
|
background: Rectangle {
|
||||||
|
radius: 5.4
|
||||||
|
color: config.surface0
|
||||||
|
}
|
||||||
|
contentItem: ListView {
|
||||||
|
id: sessionList
|
||||||
|
implicitHeight: contentHeight
|
||||||
|
spacing: 8
|
||||||
|
model: sessionWrapper
|
||||||
|
currentIndex: sessionModel.lastIndex
|
||||||
|
clip: true
|
||||||
|
}
|
||||||
|
enter: Transition {
|
||||||
|
ParallelAnimation {
|
||||||
|
NumberAnimation {
|
||||||
|
property: "opacity"
|
||||||
|
from: 0
|
||||||
|
to: 1
|
||||||
|
duration: 400
|
||||||
|
easing.type: Easing.OutExpo
|
||||||
|
}
|
||||||
|
NumberAnimation {
|
||||||
|
property: "x"
|
||||||
|
from: sessionPopup.x + (inputWidth * 0.1)
|
||||||
|
to: sessionPopup.x
|
||||||
|
duration: 500
|
||||||
|
easing.type: Easing.OutExpo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit: Transition {
|
||||||
|
NumberAnimation {
|
||||||
|
property: "opacity"
|
||||||
|
from: 1
|
||||||
|
to: 0
|
||||||
|
duration: 300
|
||||||
|
easing.type: Easing.OutExpo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
implicitHeight: sleepButton.height
|
||||||
|
implicitWidth: sleepButton.width
|
||||||
|
Button {
|
||||||
|
id: sleepButton
|
||||||
|
height: inputHeight
|
||||||
|
width: inputHeight
|
||||||
|
hoverEnabled: true
|
||||||
|
icon {
|
||||||
|
source: Qt.resolvedUrl("../icons/sleep.svg")
|
||||||
|
height: height
|
||||||
|
width: width
|
||||||
|
color: config.crust
|
||||||
|
}
|
||||||
|
background: Rectangle {
|
||||||
|
id: sleepButtonBg
|
||||||
|
color: config.red
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: sleepButton.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: sleepButtonBg
|
||||||
|
color: config.rosewater
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onClicked: sddm.suspend()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
TextField {
|
||||||
|
id: userField
|
||||||
|
height: inputHeight
|
||||||
|
width: inputWidth
|
||||||
|
selectByMouse: true
|
||||||
|
echoMode: TextInput.Normal
|
||||||
|
selectionColor: config.overlay0
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font {
|
||||||
|
family: config.Font
|
||||||
|
pointSize: config.FontSize
|
||||||
|
bold: true
|
||||||
|
}
|
||||||
|
color: config.text
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
placeholderText: "Username"
|
||||||
|
text: userModel.lastUser
|
||||||
|
background: Rectangle {
|
||||||
|
id: userFieldBackground
|
||||||
|
color: config.surface0
|
||||||
|
radius: 3
|
||||||
|
}
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "focused"
|
||||||
|
when: userField.activeFocus
|
||||||
|
PropertyChanges {
|
||||||
|
target: userFieldBackground
|
||||||
|
color: config.surface1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "hovered"
|
||||||
|
when: userField.hovered
|
||||||
|
PropertyChanges {
|
||||||
|
target: userFieldBackground
|
||||||
|
color: config.surface1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
transitions: Transition {
|
||||||
|
PropertyAnimation {
|
||||||
|
properties: "color"
|
||||||
|
duration: 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
roles/sddm/files/themes/catppuccin-macchiato/LICENSE
Normal file
21
roles/sddm/files/themes/catppuccin-macchiato/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 Catppuccin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
48
roles/sddm/files/themes/catppuccin-macchiato/Main.qml
Normal file
48
roles/sddm/files/themes/catppuccin-macchiato/Main.qml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Window 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import "Components"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
height: Screen.height
|
||||||
|
width: Screen.width
|
||||||
|
Rectangle {
|
||||||
|
id: background
|
||||||
|
anchors.fill: parent
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width
|
||||||
|
z: 0
|
||||||
|
color: config.base
|
||||||
|
}
|
||||||
|
Image {
|
||||||
|
id: backgroundImage
|
||||||
|
anchors.fill: parent
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width
|
||||||
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
visible: config.CustomBackground == "true" ? true : false
|
||||||
|
z: 1
|
||||||
|
source: config.Background
|
||||||
|
asynchronous: false
|
||||||
|
cache: true
|
||||||
|
mipmap: true
|
||||||
|
clip: true
|
||||||
|
}
|
||||||
|
Item {
|
||||||
|
id: mainPanel
|
||||||
|
z: 3
|
||||||
|
anchors {
|
||||||
|
fill: parent
|
||||||
|
margins: 50
|
||||||
|
}
|
||||||
|
Clock {
|
||||||
|
id: time
|
||||||
|
visible: config.ClockEnabled == "true" ? true : false
|
||||||
|
}
|
||||||
|
LoginPanel {
|
||||||
|
id: loginPanel
|
||||||
|
anchors.fill: parent
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
14
roles/sddm/files/themes/catppuccin-macchiato/icons/power.svg
Normal file
14
roles/sddm/files/themes/catppuccin-macchiato/icons/power.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
viewBox="0 0 198.715 198.715" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<path d="M161.463,48.763c-2.929-2.929-7.677-2.929-10.607,0c-2.929,2.929-2.929,7.677,0,10.606
|
||||||
|
c13.763,13.763,21.342,32.062,21.342,51.526c0,19.463-7.579,37.761-21.342,51.523c-14.203,14.204-32.857,21.305-51.516,21.303
|
||||||
|
c-18.659-0.001-37.322-7.104-51.527-21.309c-28.405-28.405-28.402-74.625,0.005-103.032c2.929-2.929,2.929-7.678,0-10.606
|
||||||
|
c-2.929-2.929-7.677-2.929-10.607,0C2.956,83.029,2.953,138.766,37.206,173.019c17.132,17.132,39.632,25.697,62.135,25.696
|
||||||
|
c22.497-0.001,44.997-8.564,62.123-25.69c16.595-16.594,25.734-38.659,25.734-62.129C187.199,87.425,178.059,65.359,161.463,48.763
|
||||||
|
z"/>
|
||||||
|
<path d="M99.332,97.164c4.143,0,7.5-3.358,7.5-7.5V7.5c0-4.142-3.357-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v82.164
|
||||||
|
C91.832,93.807,95.189,97.164,99.332,97.164z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="0 0 1080 1080" xml:space="preserve">
|
||||||
|
<defs>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(1 0 0 1 540 540)" id="2a220bb6-5b48-475d-961e-cf61e288ad30" >
|
||||||
|
<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1 0 0 1 540 540)" id="fd45914b-ae78-4c99-8f0c-f2807b2dc79c" >
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(45.29 0 0 45.29 556.31 508.95)" id="95767c2e-b581-4faa-9009-e8003f7e8866" >
|
||||||
|
<path style="stroke: rgb(0,0,0); stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.36, -16)" d="M 15.88 13.84 C 14.200000000000001 10.36 10.440000000000001 8.6 6.840000000000002 9.24 L 7.800000000000002 7.44 C 8.040000000000001 7.04 7.880000000000002 6.5200000000000005 7.480000000000001 6.32 C 7.080000000000001 6.08 6.560000000000001 6.24 6.360000000000001 6.640000000000001 L 4.400000000000001 10.280000000000001 C 4.400000000000001 10.280000000000001 3.9600000000000013 11.000000000000002 4.6400000000000015 11.32 L 8.280000000000001 13.280000000000001 C 8.4 13.360000000000001 8.56 13.4 8.680000000000001 13.4 C 8.96 13.4 9.280000000000001 13.24 9.400000000000002 12.96 C 9.640000000000002 12.56 9.480000000000002 12.040000000000001 9.080000000000002 11.84 L 7.200000000000002 10.8 C 10.040000000000003 10.32 13.000000000000002 11.760000000000002 14.320000000000002 14.48 C 15.920000000000002 17.8 14.520000000000001 21.8 11.200000000000003 23.36 C 9.600000000000003 24.12 7.8000000000000025 24.24 6.120000000000003 23.64 C 4.440000000000003 23.040000000000003 3.0800000000000027 21.84 2.320000000000003 20.240000000000002 C 1.560000000000003 18.64 1.440000000000003 16.840000000000003 2.0400000000000027 15.160000000000002 C 2.200000000000003 14.720000000000002 1.9600000000000026 14.240000000000002 1.5200000000000027 14.080000000000002 C 1.1200000000000028 14.000000000000002 0.6400000000000027 14.240000000000002 0.48000000000000265 14.680000000000001 C -0.23999999999999733 16.8 -0.11999999999999733 19.040000000000003 0.8400000000000026 21.040000000000003 C 1.8000000000000025 23.040000000000003 3.4800000000000026 24.560000000000002 5.600000000000002 25.320000000000004 C 6.520000000000002 25.640000000000004 7.440000000000002 25.800000000000004 8.360000000000003 25.800000000000004 C 9.600000000000003 25.800000000000004 10.840000000000003 25.520000000000003 11.960000000000003 24.960000000000004 C 16.120000000000005 22.960000000000004 17.880000000000003 17.960000000000004 15.880000000000003 13.840000000000005 z" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z"/></svg>
|
||||||
|
After Width: | Height: | Size: 811 B |
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<title>moon</title>
|
||||||
|
<path d="M10.895 7.574c0 7.55 5.179 13.67 11.567 13.67 1.588 0 3.101-0.38 4.479-1.063-1.695 4.46-5.996 7.636-11.051 7.636-6.533 0-11.83-5.297-11.83-11.83 0-4.82 2.888-8.959 7.023-10.803-0.116 0.778-0.188 1.573-0.188 2.39z"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 419 B |
@@ -0,0 +1,14 @@
|
|||||||
|
[SddmGreeterTheme]
|
||||||
|
Name=Catppuccin macchiato
|
||||||
|
Description=Soothing pastel theme for SDDM
|
||||||
|
Type=sddm-theme
|
||||||
|
Version=2.1
|
||||||
|
Website=https://github.com/catppuccin/sddm
|
||||||
|
Screenshot=preview.png
|
||||||
|
MainScript=Main.qml
|
||||||
|
ConfigFile=theme.conf
|
||||||
|
TranslationsDirectory=translations
|
||||||
|
Theme-Id=Catppuccin
|
||||||
|
Theme-API=2.0
|
||||||
|
License=MIT
|
||||||
|
QtVersion=6
|
||||||
BIN
roles/sddm/files/themes/catppuccin-macchiato/preview.png
Normal file
BIN
roles/sddm/files/themes/catppuccin-macchiato/preview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
39
roles/sddm/files/themes/catppuccin-macchiato/theme.conf
Normal file
39
roles/sddm/files/themes/catppuccin-macchiato/theme.conf
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
[General]
|
||||||
|
Font="CaskaydiaCove Nerd Font"
|
||||||
|
FontSize=12
|
||||||
|
ClockEnabled="true"
|
||||||
|
CustomBackground="false"
|
||||||
|
LoginBackground="false"
|
||||||
|
Background="backgrounds/wall.jpg"
|
||||||
|
|
||||||
|
# Uncomment this option to show the last letter of the password
|
||||||
|
# for the number of milliseconds specified
|
||||||
|
# PasswordShowLastLetter=1000
|
||||||
|
|
||||||
|
# DON'T CHANGE THESE
|
||||||
|
rosewater = "#f4dbd6"
|
||||||
|
flamingo = "#f0c6c6"
|
||||||
|
pink = "#f5bde6"
|
||||||
|
mauve = "#c6a0f6"
|
||||||
|
red = "#ed8796"
|
||||||
|
maroon = "#ee99a0"
|
||||||
|
peach = "#f5a97f"
|
||||||
|
yellow = "#eed49f"
|
||||||
|
green = "#a6da95"
|
||||||
|
teal = "#8bd5ca"
|
||||||
|
sky = "#91d7e3"
|
||||||
|
sapphire = "#7dc4e4"
|
||||||
|
blue = "#8aadf4"
|
||||||
|
lavender = "#b7bdf8"
|
||||||
|
text = "#cad3f5"
|
||||||
|
subtext1 = "#b8c0e0"
|
||||||
|
subtext0 = "#a5adcb"
|
||||||
|
overlay2 = "#939ab7"
|
||||||
|
overlay1 = "#8087a2"
|
||||||
|
overlay0 = "#6e738d"
|
||||||
|
surface2 = "#5b6078"
|
||||||
|
surface1 = "#494d64"
|
||||||
|
surface0 = "#363a4f"
|
||||||
|
base = "#24273a"
|
||||||
|
mantle = "#1e2030"
|
||||||
|
crust = "#181926"
|
||||||
@@ -6,9 +6,23 @@
|
|||||||
state: latest
|
state: latest
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
|
- name: "[SDDM] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: 0755
|
||||||
|
path: "/etc/sddm.conf.d/"
|
||||||
|
state: directory
|
||||||
|
become: true
|
||||||
|
|
||||||
- name: "[SDDM] Configure"
|
- name: "[SDDM] Configure"
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
mode: 0755
|
mode: 0755
|
||||||
src: "./"
|
src: "./sddm.conf.d/"
|
||||||
dest: "/etc/"
|
dest: "/etc/sddm.conf.d/"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: "[SDDM] Configure theme"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
mode: 0755
|
||||||
|
src: "./themes/"
|
||||||
|
dest: "/usr/share/sddm/themes/"
|
||||||
become: true
|
become: true
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
clock
|
|
||||||
grace=5
|
|
||||||
indicator
|
|
||||||
color=550000
|
|
||||||
timestr=%k:%M
|
|
||||||
datestr=%a %e.%m.%Y
|
|
||||||
effect-blur=4x2
|
|
||||||
effect-scale=0.4
|
|
||||||
effect-vignette=0.2:0.5
|
|
||||||
image=~/.config/background
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "[Swaylock] Install"
|
|
||||||
kewlfft.aur.aur:
|
|
||||||
name:
|
|
||||||
- swaylock-effects-git
|
|
||||||
use: paru
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[Swaylock] Create config folder"
|
|
||||||
ansible.builtin.file:
|
|
||||||
mode: "0755"
|
|
||||||
path: "{{ ansible_user_dir }}/.config/swaylock"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: "[Swaylock] Configure"
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "./"
|
|
||||||
dest: "{{ ansible_user_dir }}/.config/swaylock"
|
|
||||||
@@ -22,12 +22,16 @@
|
|||||||
name:
|
name:
|
||||||
- networkmanager
|
- networkmanager
|
||||||
- networkmanager-openvpn
|
- networkmanager-openvpn
|
||||||
- network-manager-applet
|
- wireguard-tools
|
||||||
- inotify-tools
|
- inotify-tools
|
||||||
|
- libqalculate
|
||||||
- cifs-utils
|
- cifs-utils
|
||||||
|
- reflector
|
||||||
|
- os-prober
|
||||||
- ntfs-3g
|
- ntfs-3g
|
||||||
- openssh
|
- openssh
|
||||||
- upower
|
- upower
|
||||||
|
- expac
|
||||||
- unzip
|
- unzip
|
||||||
- less
|
- less
|
||||||
- curl
|
- curl
|
||||||
@@ -37,8 +41,9 @@
|
|||||||
- tar
|
- tar
|
||||||
- eza
|
- eza
|
||||||
- bat
|
- bat
|
||||||
|
- fzf
|
||||||
|
- fd
|
||||||
- jq
|
- jq
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- default_pkgs
|
- default_pkgs
|
||||||
@@ -50,7 +55,7 @@
|
|||||||
- maven
|
- maven
|
||||||
- rustup
|
- rustup
|
||||||
- npm
|
- npm
|
||||||
use: paru
|
- go
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- programming_pkgs
|
- programming_pkgs
|
||||||
@@ -70,7 +75,7 @@
|
|||||||
- noto-fonts-cjk
|
- noto-fonts-cjk
|
||||||
- noto-fonts-emoji
|
- noto-fonts-emoji
|
||||||
- ttf-font-awesome
|
- ttf-font-awesome
|
||||||
- ttf-firacode-nerd
|
- nerd-fonts
|
||||||
# Pipewire
|
# Pipewire
|
||||||
- pipewire
|
- pipewire
|
||||||
- wireplumber
|
- wireplumber
|
||||||
@@ -79,20 +84,21 @@
|
|||||||
- pipewire-jack
|
- pipewire-jack
|
||||||
- pipewire-pulse
|
- pipewire-pulse
|
||||||
- gst-plugin-pipewire
|
- gst-plugin-pipewire
|
||||||
|
# Network
|
||||||
|
- network-manager-applet
|
||||||
# Bluetooth
|
# Bluetooth
|
||||||
- bluez
|
- bluez
|
||||||
- bluez-utils
|
- bluez-utils
|
||||||
- blueman
|
- blueman
|
||||||
|
- gnome-bluetooth-3.0
|
||||||
# Printing
|
# Printing
|
||||||
- cups
|
- cups
|
||||||
- cups-pdf
|
- cups-pdf
|
||||||
# Theming
|
# Theming
|
||||||
#- qt5ct
|
- qt5ct
|
||||||
- nwg-look
|
|
||||||
# Icon Themes
|
# Icon Themes
|
||||||
- papirus-icon-theme
|
- papirus-icon-theme
|
||||||
# Cursor Themes
|
# Cursor Themes
|
||||||
- rose-pine-hyprcursor
|
|
||||||
- xcursor-breeze
|
- xcursor-breeze
|
||||||
# Themes
|
# Themes
|
||||||
- catppuccin-gtk-theme-frappe
|
- catppuccin-gtk-theme-frappe
|
||||||
@@ -107,6 +113,7 @@
|
|||||||
- mediainfo
|
- mediainfo
|
||||||
- hyprpicker
|
- hyprpicker
|
||||||
- swww
|
- swww
|
||||||
|
- sddm
|
||||||
- swayidle
|
- swayidle
|
||||||
- grimblast-git
|
- grimblast-git
|
||||||
- cliphist
|
- cliphist
|
||||||
@@ -114,7 +121,6 @@
|
|||||||
- polkit-kde-agent
|
- polkit-kde-agent
|
||||||
- xdg-desktop-portal-hyprland
|
- xdg-desktop-portal-hyprland
|
||||||
- gnome-keyring
|
- gnome-keyring
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- desktop_pkgs
|
- desktop_pkgs
|
||||||
@@ -123,20 +129,24 @@
|
|||||||
- name: "[Arch] Install desktop applications"
|
- name: "[Arch] Install desktop applications"
|
||||||
kewlfft.aur.aur:
|
kewlfft.aur.aur:
|
||||||
name:
|
name:
|
||||||
- youtube-music
|
|
||||||
- libreoffice-fresh
|
- libreoffice-fresh
|
||||||
- nextcloud-client
|
- nextcloud-client
|
||||||
|
- appimagelauncher
|
||||||
|
- feishin-appimage
|
||||||
|
- element-desktop
|
||||||
- youtube-music
|
- youtube-music
|
||||||
- waypaper-git
|
|
||||||
- vscodium-bin
|
- vscodium-bin
|
||||||
- pavucontrol
|
- pavucontrol
|
||||||
|
- thunderbird
|
||||||
- hyprpicker
|
- hyprpicker
|
||||||
- brave-bin
|
- brave-bin
|
||||||
- obsidian
|
- obsidian
|
||||||
- discord
|
|
||||||
- yt-dlp
|
- yt-dlp
|
||||||
- nvtop
|
- nvtop
|
||||||
- nemo
|
- nemo
|
||||||
|
- nemo-fileroller
|
||||||
|
- gvfs-smb
|
||||||
|
- gvfs-mtp
|
||||||
- mpv
|
- mpv
|
||||||
# Device configuration
|
# Device configuration
|
||||||
#- openrazer-daemon
|
#- openrazer-daemon
|
||||||
@@ -148,7 +158,6 @@
|
|||||||
#- gucharmap
|
#- gucharmap
|
||||||
# Calculator
|
# Calculator
|
||||||
#- galculator
|
#- galculator
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- desktop_apps
|
- desktop_apps
|
||||||
@@ -207,7 +216,6 @@
|
|||||||
- lib32-gst-plugins-base-libs
|
- lib32-gst-plugins-base-libs
|
||||||
- vulkan-icd-loader
|
- vulkan-icd-loader
|
||||||
- lib32-vulkan-icd-loader
|
- lib32-vulkan-icd-loader
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- desktop_pkgs
|
- desktop_pkgs
|
||||||
@@ -226,7 +234,6 @@
|
|||||||
- lib32-mesa
|
- lib32-mesa
|
||||||
- vulkan-radeon
|
- vulkan-radeon
|
||||||
- lib32-vulkan-radeon
|
- lib32-vulkan-radeon
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
when: "system == 'desktop_full' and 'Advanced Micro Devices' in gpu_info.stdout"
|
when: "system == 'desktop_full' and 'Advanced Micro Devices' in gpu_info.stdout"
|
||||||
|
|
||||||
@@ -236,7 +243,6 @@
|
|||||||
- lib32-mesa
|
- lib32-mesa
|
||||||
- vulkan-intel
|
- vulkan-intel
|
||||||
- lib32-vulkan-intel
|
- lib32-vulkan-intel
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- desktop_pkgs
|
- desktop_pkgs
|
||||||
@@ -249,7 +255,6 @@
|
|||||||
- nvidia-utils
|
- nvidia-utils
|
||||||
- lib32-nvidia-utils
|
- lib32-nvidia-utils
|
||||||
- nvidia-settings
|
- nvidia-settings
|
||||||
use: paru
|
|
||||||
state: present
|
state: present
|
||||||
tags:
|
tags:
|
||||||
- desktop_pkgs
|
- desktop_pkgs
|
||||||
@@ -267,3 +272,13 @@
|
|||||||
- desktop_services
|
- desktop_services
|
||||||
when: "system == 'desktop'"
|
when: "system == 'desktop'"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
|
- name: "Set makepkg threads"
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: /etc/makepkg.conf
|
||||||
|
regexp: '^#MAKEFLAGS='
|
||||||
|
line: 'MAKEFLAGS="-j10"'
|
||||||
|
state: present
|
||||||
|
tags:
|
||||||
|
- makepkg
|
||||||
|
become: true
|
||||||
|
|||||||
7
roles/wakatime/tasks/main.yml
Normal file
7
roles/wakatime/tasks/main.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
- name: "[Wakatime]"
|
||||||
|
ansible.builtin.template:
|
||||||
|
mode: 0644
|
||||||
|
src: wakatime.cfg
|
||||||
|
dest: "{{ ansible_user_dir }}/.wakatime.cfg"
|
||||||
|
ignore_errors: true
|
||||||
3
roles/wakatime/templates/wakatime.cfg
Normal file
3
roles/wakatime/templates/wakatime.cfg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[settings]
|
||||||
|
api_url = https://wakapi.keulelab.de/api
|
||||||
|
api_key = {{ wakapi_key }}
|
||||||
@@ -1,20 +1,25 @@
|
|||||||
# Bookmarks
|
# Bookmarks
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "b", "g" ]
|
on = [ "b", "g" ]
|
||||||
run = "cd ~/git/"
|
run = "cd ~/git/"
|
||||||
desc = "GIT"
|
desc = "GIT"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "b", "d" ]
|
on = [ "b", "D" ]
|
||||||
run = "cd ~/Data/"
|
run = "cd ~/Data/"
|
||||||
desc = "DATA"
|
desc = "DATA"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
|
on = [ "b", "d" ]
|
||||||
|
run = "cd ~/.dotfiles/"
|
||||||
|
desc = "DOTFILES"
|
||||||
|
|
||||||
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "b", "s" ]
|
on = [ "b", "s" ]
|
||||||
run = "plugin bookmark --args=save"
|
run = "plugin bookmark -- save"
|
||||||
desc = "Save Bookmark"
|
desc = "Save Bookmark"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "b", "j" ]
|
on = [ "b", "j" ]
|
||||||
run = "plugin bookmark --args=jump"
|
run = "plugin bookmark -- jump"
|
||||||
desc = "Jump Bookmark"
|
desc = "Jump to Bookmark"
|
||||||
|
|||||||
9
roles/yazi/files/plugins/bookmark.yazi/LICENSE
Normal file
9
roles/yazi/files/plugins/bookmark.yazi/LICENSE
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
MIT
|
||||||
|
|
||||||
|
Copyright 2025 Keule2
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
15
roles/yazi/files/plugins/bookmark.yazi/README.md
Normal file
15
roles/yazi/files/plugins/bookmark.yazi/README.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# General
|
||||||
|
Simple plugin to create a tmp bookmark and jump to it.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
```toml
|
||||||
|
[[mgr.prepend_keymap]]
|
||||||
|
on = [ "b", "s" ]
|
||||||
|
run = "plugin bookmark -- save"
|
||||||
|
desc = "Save Bookmark"
|
||||||
|
|
||||||
|
[[mgr.prepend_keymap]]
|
||||||
|
on = [ "b", "j" ]
|
||||||
|
run = "plugin bookmark -- jump"
|
||||||
|
desc = "Jump to Bookmark"
|
||||||
|
```
|
||||||
@@ -2,17 +2,17 @@ local temp_dir = os.getenv("TEMP") or os.getenv("TMP") or "/tmp"
|
|||||||
local file_name = temp_dir .. "/bookmark.yazi"
|
local file_name = temp_dir .. "/bookmark.yazi"
|
||||||
|
|
||||||
local save_bookmark = ya.sync(function(state, idx)
|
local save_bookmark = ya.sync(function(state, idx)
|
||||||
local folder = Folder:by_kind(Folder.CURRENT)
|
local folder = tostring(cx.active.current.cwd)
|
||||||
local file = io.open(file_name, "w")
|
local file = io.open(file_name, "w")
|
||||||
|
|
||||||
if file then
|
if file then
|
||||||
file:write(tostring(folder.cwd))
|
file:write(folder)
|
||||||
file:close()
|
file:close()
|
||||||
|
ya.notify { title = "Saved Bookmark", content = folder, timeout = 3, level = "info" }
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local jump_bookmark = ya.sync(function(state, idx)
|
local jump_bookmark = ya.sync(function(state, idx)
|
||||||
local io = require("io")
|
|
||||||
local file = io.open(file_name, "r")
|
local file = io.open(file_name, "r")
|
||||||
|
|
||||||
if file then
|
if file then
|
||||||
@@ -24,8 +24,8 @@ local jump_bookmark = ya.sync(function(state, idx)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
entry = function(_, args)
|
entry = function(_, job)
|
||||||
local action = args[1]
|
local action = job.args[1]
|
||||||
if not action then
|
if not action then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
[manager]
|
[mgr]
|
||||||
sort_dir_first = true
|
sort_dir_first = true
|
||||||
show_hidden = true
|
show_hidden = true
|
||||||
show_symlink = true
|
show_symlink = true
|
||||||
|
linemode = "size"
|
||||||
|
|||||||
Reference in New Issue
Block a user