diff --git a/README.md b/README.md index b6ada6f..a377fd8 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ⚠️ **Important Notes** Before applying this configuration on another system, make sure to: -- Update the `hostName`. +- Update the `hostName` (in `configuration.nix` and `home.nix`). - If your computer **is not a laptop**, set `isLaptop = false` in `~/nixos/other/quickshell/bar/Power.qml`. *(This is hardcoded because `UPowerDevice.isLaptopBattery` didn’t work.)* @@ -45,7 +45,7 @@ nixos/ └── README.md ``` -> The `quickshell` configuration is written in **QML** (`other/quickshell`) and is automatically copied to `~/.config/quickshell` on deployment. +> other/quickshell is the older quickshell configuration. --- @@ -92,10 +92,8 @@ nixos/ **Daemons:** `upower`, `pipewire`, `pulseaudio`, `brightnessctl`, `playerctl`, `blueman`, `udiskie`, `networkmanager-applet`, `swww` wallpaper daemon -### Screenshots & Notifications -- [`grim`](https://github.com/emersion/grim) (with `quickshell`) screenshots -- [`quickshell`](https://github.com/Totorile1/quickshell) notifications, top bar, and widgets -- [`wlogout`](https://github.com/ArtsyMacaw/wlogout) logout/shutdown widget +### Screenshots, Notifications, Bar and much more! +- [caelestia-shell](https://github.com/caelestia-dots/shell) --- @@ -161,6 +159,8 @@ If you **don’t have the physical macropad**, the table below shows which keybi | ------------ | -------------------------------------------- | | Row 1, Col 1 | Kill all apps except focused (`Ctrl+$mod+6`) | | Row 2, Col 1 | Performance mode (`Ctrl+Alt+7`) | +| Row 3, Col 1 | Do not disturb (`Ctrl+$mod+4` | +| Row 4, Col 1 | Notification center (`Ctrl+Alt+1`) | | Row 3, Col 2 | Special characters (`Ctrl+$mod+3`) | | Row 3, Col 3 | Color picker (`Ctrl+Alt+8`) | | Row 4, Col 1 | Notification center toggle (`Ctrl+Alt+1`) | diff --git a/assets/sisyphePFP.png b/assets/sisyphePFP.png new file mode 100644 index 0000000..6e2902b Binary files /dev/null and b/assets/sisyphePFP.png differ diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index b7ca817..bff63ad 100755 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -83,6 +83,13 @@ # zsh dont want to work if it is not initialzed here. programs.zsh.enable = true; + security.wrappers.gsr-kms-server = { # to remove the password prompt when using gpu-screen-recorder + owner = "root"; + group = "root"; + capabilities = "cap_sys_admin+ep"; + source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server"; +}; + # Enable the GNOME Desktop Environment. # services.displayManager.gdm.enable = true; # services.desktopManager.gnome.enable = true; @@ -167,7 +174,7 @@ gnome-characters gnome-disk-utility kdePackages.okular - nautilus + kdePackages.dolphin gnome-font-viewer wget tree # shows dir in tree @@ -244,6 +251,12 @@ pylint black nixd + # for caelestia + gpu-screen-recorder + fuzzel + papirus-icon-theme + papirus-folders + power-profiles-daemon ]; # fonts diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index 4dfb166..7de7596 100755 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -27,8 +27,8 @@ ../../modules/home-manager/caelestia.nix # caelestia shell is based on quickshell #../../modules/home-manager/oh-my-posh.nix # zsh customizer ../../modules/home-manager/oh-my-zsh.nix # another zsh customizer - ../../modules/home-manager/hypridle.nix - ../../modules/home-manager/swaylock.nix + #../../modules/home-manager/hypridle.nix + #../../modules/home-manager/swaylock.nix ../../modules/home-manager/anki.nix # we use only for some settings. see ../../modules/nixos/anki.nix for activating ../../modules/home-manager/librewolf.nix # privacy browser ../../modules/home-manager/cursor.nix # cursor (the icon not the app) diff --git a/modules/home-manager/caelestia.nix b/modules/home-manager/caelestia.nix index 6783d87..8437838 100644 --- a/modules/home-manager/caelestia.nix +++ b/modules/home-manager/caelestia.nix @@ -5,11 +5,15 @@ caelestia-shell, ... }: { + + home.file.".face" = { # this is were caelestia will search for profiles pictures + source = ../../assets/sisyphePFP.png; + }; # set profile picture in ~/.face programs.caelestia = { enable = true; systemd = { - enable = false; # if you prefer starting from your compositor + enable = false;# if you prefer starting from your compositor target = "graphical-session.target"; environment = []; }; @@ -22,7 +26,7 @@ scale = 1; }; }; - font = { + /*font = { family = { clock = "Rubik"; # (TODO figure out those fonts) material = "Material Symboles Rounded"; @@ -32,7 +36,7 @@ size = { scale = 1; }; - }; + };*/ padding = { scale = 1; }; @@ -117,7 +121,7 @@ }; invertColors = false; }; - enabled = true; #ptet changer ca pour wallpaper + enabled = false; #default true visualiser = { blur = false; enabled = false; @@ -133,8 +137,8 @@ showOnHover = true; }; clock = { - background = false; - showDate = false; + background = true; + showDate = true; showIcon = true; }; dragThreshold = 20; @@ -189,7 +193,7 @@ }; showOnHover = true; status = { - showAudio = false; + showAudio = true; showBattery = true; showBluetooth = true; showKbLayout = false; @@ -199,10 +203,10 @@ showLockStatus = true; }; tray = { - background = false; + background = true; # default true compact = false; iconSubs = []; - recolour = false; + recolour = true; }; workspaces = { activeIndicator = true; @@ -247,23 +251,23 @@ icon = "calculate"; description = "Do simple math equations (powered by Qalc)"; command = [ "autocomplete" "calc" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { - name = "Scheme"; # to remove + name = "Scheme"; icon = "palette"; description = "Change the current colour scheme"; command = [ "autocomplete" "scheme" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { - name = "Wallpaper"; # to remove + name = "Wallpaper"; icon = "image"; description = "Change the current wallpaper"; command = [ "autocomplete" "wallpaper" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { @@ -279,31 +283,31 @@ icon = "opacity"; description = "Change shell transparency"; command = [ "autocomplete" "transparency" ]; - enbaled = false; + enabled = false; dangerous = false; } { - name = "Random"; # to remove + name = "Random"; icon = "casino"; description = "Switch to a random wallpaper"; command = [ "caelestia" "wallpaper" "-r" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { - name = "Light"; # to remove + name = "Light"; icon = "light_mode"; description = "Change the scheme to light mode"; command = [ "setMode" "light" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { - name = "Dark"; # to remove + name = "Dark"; icon = "dark_mode"; description = "Change the scheme to dark mode"; command = [ "setMode" "dark" ]; - enabled = true; + enabled = false; # default true dangerous = false; } { @@ -339,11 +343,11 @@ dangerous = false; } { - name = "Settings"; # to remove -- > we want to do every config with nix + name = "Settings"; icon = "settings"; description = "Configure the shell"; command = [ "caelestia" "shell" "controlCenter" "open" ]; - enabled = true; + enabled = false; # default true dangerous = false; } ]; @@ -374,9 +378,9 @@ defaultExpireTimeout = 5000; expantThreshold = 20; openeExpanded = false; - expire = false; + expire = true; }; - osd = { # whats that + osd = { # thats the slider for brightness and sound enabled = true; enableBrightness = true; enableMicrophone = false; @@ -428,7 +432,7 @@ # is there a way to get some system info? utilities = { enabled = true; - maxToasts = 4; # what's that? + maxToasts = 4; # toats are like notification but on the botto left toasts = { audioInputChanged = true; audioOutputChanged = true; @@ -478,7 +482,7 @@ enabled = true; # should remap my performance mode } { - id = "dnd"; # what's that? + id = "dnd"; #do not disturb enabled = true; } { @@ -487,10 +491,98 @@ } ]; }; - cli = { + cli = { # default config https://github.com/caelestia-dots/cli?tab=readme-ov-file#configuring enable = true; # Also add caelestia-cli to path settings = { - theme.enableGtk = true; + record = { + extraArgs = []; + }; + wallpaper = { + postHook = ""; # default "echo $WALLPAPER_PATH" + }; + theme = { + enableTerm = true; + enableHypr = true; + enableDiscord = true; + enableSpicetify = true; + enableFuzzel = true; #what's that? + enablleBtop = false; # default true + enableQt = true; + }; + toggles = { + communication = { + discord = { + enable = false; # default true + match = [ + { + class = "discord"; + } + ]; + whatsapp = { + enable = true; + match = [ + { + class = "whatsapp"; + } + ]; + }; + }; + }; + music = { + spotify = { + enable = false; # default true + match = [ + { + class = "Spotify"; + } + { + initialTitle = "Spotify"; + } + { + initialTitle = "Spotify Free"; + } + ]; + command = [ "spicetify" "watch" "-s" ]; + move = true; + }; + feishin = { + enable = true; + match = [ + { + class = "feishin"; + } + ]; + move = true; + }; + }; + sysmon = { + btop = { + enable = true; + match = [ + { + class = "btop"; + title = "btop"; + workspace = { + name = "special:sysmon"; + }; + } + ]; + command = [ "foot" "-a" "btop" "-T" "btop" "fish" "-C" "exec btop" ]; # maybe switch to btm and kitty? + }; + }; + todo = { + todoist = { + enable = false; # default true + match = [ + { + class = "Todoist"; + } + ]; + command = [ "todoist" ]; + move = true; + }; + }; + }; }; }; }; diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index f28a97f..b62ab1e 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -20,7 +20,7 @@ in { "$term" = "kitty"; "$editor" = "nvim"; "$notes" = "kitty --class \"custom-obsidianvaults\" --name \"Select Obsidian vault\" --hold custom-obsidianvaults"; - "$file" = "nautilus"; + "$file" = "dolphin"; "$browser" = "kitty --class \"custom-librewolfprofiles\" --name \"Select LibreWolf profile\" --hold custom-librewolfprofiles"; # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ @@ -145,7 +145,8 @@ in { "$mod_SHIFT, S, exec, caelestia shell picker open" # framework 16 rgb macropad "Ctrl+$mod, 6, exec, custom-killall" # pos 1 1 killall apps except focused one - "Ctrl+Alt, 7, exec, custom-performance" # pos 2 1 start performance mode + #"Ctrl+Alt, 7, exec, custom-performance" # pos 2 1 start performance mode + "Ctrl+Alt, 7, exec, caelestia shell gameMode toggle" # reloads the autostart programs # pos 3 1 # we passed to caelestia-shell and stoped using that /*"Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'" @@ -155,6 +156,8 @@ in { "Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'" #"Ctrl+Alt, 1, exec, swaync-client -t" # pos 4 1 notification center "Ctrl+Alt, 1, exec, qs ipc call notifications toggle" */ + "Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar" + "Ctrl+$mod, 4, exec, caelestia shell notifs toggleDnd" "Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol "Ctrl+$mod, 5, exec, gnome-characters" # pos 2 2 special chars "Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store" # pos 3 2 colorpicker @@ -215,7 +218,7 @@ in { "custom-obsidianbackup" # backups the obsidian notes to kdrive and to a timed hidden dir (~/.Notes.backup/) "QS-notifycache" # builds the cache that will be used for the notification history - ######################### + /* We stopped using that ######################### maybe we should desactivate those scripts # login autostart ####################### "[workspace 1 silent] sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'" @@ -224,7 +227,7 @@ in { "[workspace 1 silent] sleep 1 && kitty -o font_size=5 -e btm --theme gruvbox --disable-click --disable_advanced_kill --enable_cache_memory -g -R -T " "[workspace 1 silent] sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'" ###################### - ###################### + ######################*/ ]; # gestures (also keybindings)