This commit is contained in:
Stuce 2025-10-19 15:18:06 +02:00
parent 9e8db84afc
commit 9f7701ce6d
15 changed files with 110 additions and 125 deletions

View file

@ -1,22 +1,26 @@
# Dotfiles
## Overview
All my dotfiles, easily installable using the install script.
The scripts checks if a file already exists there before overwriting !
## To do :
## To do
- [x] screenshots : grim -g "$(slurp)"
- [x] git defaults
- [x] kitty
- [x] theme
- [x] remove annoying question on closing
- [x] polish tab/panes shortcuts
- [ ] sessionizer (via kitty or lazyvim) (or both ?)
- [x] remove shift key from shortcuts to avoid missclicks or re enable confirmation
- [ ] sessionizer -> use fzf and just open it normally, dont care about saving sessions for now
- [ ] hyprland
- [x] default functionality
- [x] borders
- [x] xdg-portal
- [ ] multi gpu on desktop ?
- [ ] multi gpu on desktop ? -> just let steam handle that ?
- [x] hyprlock
- [ ] lazyvim
- [x] remove enter in blink
@ -25,18 +29,21 @@ The scripts checks if a file already exists there before overwriting !
- [ ] markdown - make it less annoying
- [x] add greeter
- [x] bar
- [ ] statusBar
- [x] statusBar
- [x] works
- [ ] make battery conditional ?
- [ ] fix small annoying artifact since installing fonts
- [x] make battery depend on a var -> make a config for laptop and a config for pc
- [x] fix small annoying artifact since installing fonts (make sure we use mono font)
- [ ] notifications
- [ ] auto dismiss after a moment or make dismiss keybind ?
- [ ] get list of previous notifications in fzf and open them ?
- [x] add per folder sudo when needed on install script
- [ ] screen sharing works for zoom
- [x] way to record videos with push to record for easy edits
- [ ] all dependencies in a list to install everything (via pacman or yay) at once easily
- [x] pacman
- [ ] yay
- [ ] add way to add export variables and aliases and scripts in bashrc/zshrc
- [ ] make script to install yay
- [x] yay
- [ ] add way to add export variables and aliases and scripts in bashrc/zshrc -> just symlink it duh
- [ ] customize terminal a bit ? try fsh ?
- [ ] floating terminal utilities (call wemenu, launching the chosen utility in a floating manager)
- [ ] weather in floating terminal
@ -44,6 +51,10 @@ The scripts checks if a file already exists there before overwriting !
- [ ] qutebrowser
- [ ] theme
- [x] config file (just config file dont bother with rest)
- [ ] mail : sync thunderbird settings
- [ ] passwords : get passwords to clipboard via fzf and bitwarden cli
## Usage
`./install.sh`
NOTE: this is still work in progress, it does not work completely yet

View file

@ -1,6 +1,6 @@
env = PROFILE, laptop
exec-once=systemctl --user start hyprpolkitagent
exec-once=i3bar-river
exec-once="$HOME/dotfiles/scripts/background.sh"
exec-once=hyprpaper
#exec-once = /nix/store/lww2khz04qsc8prjp8l0haldwz15yivi-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
$mod=SUPER
@ -51,8 +51,12 @@ bind=$mod, RETURN, exec, kitty
bind=$mod, Y, exec, foot yazi
bind=$mod + SHIFT, Q, killactive
bind=$mod, SPACE, togglefloating
bind=$mod, B, exec, "$HOME/dotfiles/scripts/background.sh"
bind=$mod, S, exec, "$HOME/dotfiles/scripts/lock.sh"
bind=$mod, B, exec, kitty --class Launcher -e $HOME/dotfiles/scripts/background
# bind=$mod, S, exec, "$HOME/dotfiles/scripts/lock.sh" TODO: make this call dmenu on the scripts folder
# Lid
bindl=,switch:on:Lid Switch,exec,hyprctl dispatch dpms off && hyprctl dispatch exec hyprlock
bindl=,switch:off:Lid Switch,exec,hyprctl dispatch dpms on
# Movement
bind=$mod, F, fullscreen, 1
@ -91,3 +95,7 @@ binde=, XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
binde=, XF86MonBrightnessUp, exec, brightnessctl s +5%
binde=, XF86MonBrightnessDown, exec, brightnessctl s 5%-
bindl=, switch:off:3c3fceb90, exec, swaylock
bind=$mod SHIFT,SPACE, exec, hyprctl switchxkblayout all next
# Others
bind=, PRINT, exec, grim -g "$(slurp)"

View file

@ -31,8 +31,7 @@ animations {
background {
monitor =
path = $BG
# path = $HOME/dotfiles/backgrounds/uwp4468846.jpeg
path = $HOME/dotfiles/backgrounds/wp14993271-bocchi-the-rock-4k-wallpapers.webp
blur_passes = 0
}

View file

@ -0,0 +1,6 @@
preload = ~/dotfiles/backgrounds/wp11886253-bocchi-the-rock-hd-wallpapers.jpg
wallpaper = ,~/dotfiles/backgrounds/wp11886253-bocchi-the-rock-hd-wallpapers.jpg
#enable splash text rendering over the wallpaper
splash = true

View file

@ -1,7 +1,7 @@
background = "#11111b"
color = "#00ff00"
command = "i3status-rs ~/.config/i3status-rust/config.toml"
font = "pango:monospace 10"
command = "i3status-rs ~/.config/i3status-rust/${PROFILE}-config.toml"
font = "font pango: FontAwesome 12"
height = 20
tag_bg = "#313244"
tag_fg = "#cdd6f4"

View file

@ -1,42 +0,0 @@
[[block]]
block = "battery"
interval = 30
[[block]]
block = "net"
format = " $icon {$signal_strength $ssid|Wired connection}"
interval = 10
[[block]]
block = "disk_space"
interval = 300
[[block]]
block = "memory"
format = " $icon $mem_used_percents"
interval = 30
[[block]]
block = "cpu"
[[block]]
block = "sound"
max_vol = 150
show_volume_when_muted = true
[[block]]
block = "sound"
device_kind = "source"
max_vol = 150
show_volume_when_muted = true
[[block]]
block = "time"
format = " $timestamp.datetime(f:' %d/%m %R') "
interval = 60
[icons]
icons = "material-nf"
[theme]
theme = "ctp-mocha"

View file

@ -67,6 +67,6 @@ map alt+4 goto_tab 4
map alt+5 goto_tab 5
map alt+enter new_window_with_cwd
map alt+t new_tab_with_cwd
map alt+q close_window
map alt+shift+q close_window
confirm_os_window_close 0
# confirm_os_window_close 0

View file

@ -1,42 +1,47 @@
{
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
"LuaSnip": { "branch": "master", "commit": "66b5c2707e624dcd2cd3605676c64a2efe47e9d1" },
"blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" },
"LazyVim": { "branch": "main", "commit": "dc1ffa5bcb66f46284f91a8593dda5c7c54a1824" },
"LuaSnip": { "branch": "master", "commit": "21e9fecfc07fb2cd707b6c7c3fa148550a34d053" },
"SchemaStore.nvim": { "branch": "main", "commit": "e71cc0607284739892287f6a2d92753999179dcf" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"catppuccin": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" },
"clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" },
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
"crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" },
"flash.nvim": { "branch": "main", "commit": "2febce67ff9cf7638d2569d17c41af02c38401eb" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "4666d040b60d1dc0e474ccd9a3fd3c4d67b4767c" },
"grug-far.nvim": { "branch": "main", "commit": "b3f9412b1ed76f14cfc68e1ee899873544330c80" },
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
"grug-far.nvim": { "branch": "main", "commit": "2e991081c0e653e151fc9e659514d7c2fc31d22a" },
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
"haskell-snippets.nvim": { "branch": "master", "commit": "27ac316463b9807496cd03e65289d3e79aa23528" },
"haskell-snippets.nvim": { "branch": "master", "commit": "06be2f61d2970a90e8c4db16ab8cd450233db5c1" },
"haskell-tools.nvim": { "branch": "master", "commit": "65d6993eba1a56bbd5211ef13a100d26ce3e644a" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.ai": { "branch": "main", "commit": "96cd250fdea1fec929a62c7432de73e0f59788cd" },
"mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" },
"mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"mini.ai": { "branch": "main", "commit": "11c57180bc9084089206e211ac7aa598bedc9673" },
"mini.icons": { "branch": "main", "commit": "284798619aed9f4c1ac1b9417b9a5e3b4b85ef3a" },
"mini.pairs": { "branch": "main", "commit": "b9aada8c0e59f2b938e98fbf4eae0799eba96ad9" },
"mini.surround": { "branch": "main", "commit": "444e155147e2b5159dd28a65f9736254c16cb817" },
"noice.nvim": { "branch": "main", "commit": "38c702be0d8fea81527ee6a73e1e834e72481193" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lint": { "branch": "master", "commit": "3c5e34c24834a67b1cb37600ab7663eefd2b0390" },
"nvim-lspconfig": { "branch": "master", "commit": "dbdb80d3bd311989d21029c63918d67a786d5013" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "b977c94b32afdcadb8e53ba33d5934d1937d4eab" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"telescope_hoogle": { "branch": "master", "commit": "5c2ae51bcf905a7101134a597e6f7be2dc05f975" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
"nvim-treesitter": { "branch": "main", "commit": "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68" },
"nvim-treesitter-textobjects": { "branch": "main", "commit": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"persistence.nvim": { "branch": "main", "commit": "51eef57272742b773468949f6bd0503ec3f83874" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "475d3ad8cae486b0df6fc6050cf5b5ea1de42db8" },
"rustaceanvim": { "branch": "master", "commit": "2f5afad4fc62c609dfd2ef4613999a0e8bddcccc" },
"snacks.nvim": { "branch": "main", "commit": "839022302b470fe166b8b8b04add49bd32bdc01b" },
"telescope_hoogle": { "branch": "master", "commit": "14be34fd5c464e3da0992ad094f157b0b8b098f9" },
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
"tokyonight.nvim": { "branch": "main", "commit": "d14614cbfc63b6037bfccd48bb982d2ad2003352" },
"trouble.nvim": { "branch": "main", "commit": "c098362fe603d3922095e7db595961e020bdf2d0" },
"ts-comments.nvim": { "branch": "main", "commit": "217ab9cc137fceb6659b53790bd25e608219abe1" },
"venv-selector.nvim": { "branch": "main", "commit": "7fff64b5b1455207b9a9fd2ae8697cf9ac0b2a2d" },
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
}

View file

@ -1,12 +1,22 @@
{
"extras": [
"lazyvim.plugins.extras.coding.mini-surround",
"lazyvim.plugins.extras.editor.harpoon2",
"lazyvim.plugins.extras.lang.clangd",
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.haskell",
"lazyvim.plugins.extras.lang.markdown"
"lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.svelte",
"lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.typescript"
],
"install_version": 8,
"news": {
"NEWS.md": "10960"
"NEWS.md": "11866"
},
"version": 8
}

View file

@ -1,3 +1,4 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here
conceallevel = 0

View file

@ -3,25 +3,30 @@ sources=("$PWD/config/" "$PWD/etc/" "$PWD/home/" "$PWD/qutebrowser/")
targets=("$HOME/.config/" "/etc/" "$HOME/" "$HOME/.config/qutebrowser/")
length=${#sources[@]}
packages="brightnessctl hyprland hyprlock hyprpaper i3status-rust kitty mpv neovim obs-studio qutebrowser ttc-iosevka ttf-nerd-fonts-symbols-mono yazi noto-fonts-emoji"
packages="brightnessctl hyprland hyprlock hyprpaper i3status-rust kitty mpv neovim obs-studio qutebrowser ttc-iosevka ttf-nerd-fonts-symbols-mono yazi noto-fonts-emoji i3status-rust"
yayPackages="i3bar-river"
services="greetd"
# TODO: need to address need to run as sudo to add symlink to certain folders, maybe ask in outer loop when sudo is needed and set a variable
pacman() {
read -p "Install the following packages : $packages ? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || break
sudo pacman -S $packages
sudo pacman -Syu $packages
}
yay() {
# TODO: install yay, and install yay dependencies
echo yay
# NOTE: no confirmation, we consider user should read the files
sudo yay -Syu $packages
}
systemd() {
read -p "Enable the following services : $services ? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || break
sudo systemctl enable $services
}
install() {
pacman
yay
systemd
update
}
update() {
for ((i = 0; i < length; i++)); do
@ -43,4 +48,4 @@ update() {
done
}
systemd
update

View file

@ -13,7 +13,7 @@
## This is here so configs done via the GUI are still loaded.
## Remove it to not load settings done via the GUI.
# config.load_autoconfig(True)
config.load_autoconfig(True)
## Aliases for commands. The keys of the given dictionary are the
## aliases, while the values are the commands they map to.
@ -1562,7 +1562,7 @@ c.auto_save.session = False
# c.keyhint.radius = 6
## Level for console (stdout/stderr) logs. Ignored if the `--loglevel` or
## `--debug` CLI flags are used.
## --debug` CLI flags are used.
## Type: LogLevel
## Valid values:
## - vdebug
@ -1853,7 +1853,7 @@ c.auto_save.session = False
## - tr-TR: Turkish (Turkey)
## - uk-UA: Ukrainian (Ukraine)
## - vi-VN: Vietnamese (Viet Nam)
c.spellcheck.languages = ["fr-FR","en-US"]
c.spellcheck.languages = []
## Padding (in pixels) for the statusbar.
## Type: Padding

View file

@ -1,10 +0,0 @@
#!/bin/bash
WALLPAPER_DIR="$HOME/dotfiles/backgrounds/"
CURRENT_WALL=$(hyprctl hyprpaper listloaded)
# Get a random wallpaper that is not the current one
WALLPAPER=$(find "$WALLPAPER_DIR" -type f ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1)
# Apply the selected wallpaper
hyprctl hyprpaper reload ,"$WALLPAPER"

View file

@ -1,4 +0,0 @@
#!/bin/bash
WALLPAPER_DIR=$HOME/dotfiles/backgrounds/
WALLPAPER=$(find "$WALLPAPER_DIR" | shuf -n 1)
BG=$WALLPAPER hyprlock

View file

@ -1,4 +0,0 @@
#!/bin/bash
locations="Vicques\nLausanne\nBern"
selected=$(echo -e $locations | fzf)
curl wttr.in/$selected