diff options
| author | eric.marin <maarin.eric@gmail.com> | 2024-12-26 14:33:06 +0100 |
|---|---|---|
| committer | eric.marin <maarin.eric@gmail.com> | 2024-12-30 21:07:42 +0100 |
| commit | 4de5a217c25fe83bb54063f8d842b78c9e6d7fb3 (patch) | |
| tree | 0460bc0600492324f111524dfdff1ef85c9fbf8e | |
| parent | ee2b01a3fff043a8b977385227c2659bbcf2e59a (diff) | |
| download | dotfiles-4de5a217c25fe83bb54063f8d842b78c9e6d7fb3.tar.gz dotfiles-4de5a217c25fe83bb54063f8d842b78c9e6d7fb3.zip | |
wallust
44 files changed, 567 insertions, 1051 deletions
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index eced5a1..0000000 --- a/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -rofi -lazygit -dconf -pulse -user-dirs.dirs -user-dirs.locale -QtProject.conf -VirtualBox -Electron -btop -draw.io -eww -mimeapps.list -spotify -spicetify -obsidian -heroic -godot -go/telemetry/local -git -btop -fastfetch -paru -superfile -tlpui -wireshark -torbrowser -termshark -google-chrome -discord -bluetuith -Pinta -cabal -ghc -kathara.conf -xdg-terminals.list -nvim/lazy-lock.json diff --git a/ags/README.md b/ags/README.md deleted file mode 100644 index 71563ed..0000000 --- a/ags/README.md +++ /dev/null @@ -1,15 +0,0 @@ - -# Starter Config - -if suggestions don't work, first make sure -you have TypeScript LSP working in your editor - -if you do not want typechecking only suggestions - -```json -// tsconfig.json -"checkJs": false -``` - -types are symlinked to: -/usr/share/com.github.Aylur.ags/types diff --git a/ags/app.ts b/ags/app.ts new file mode 100644 index 0000000..b485250 --- /dev/null +++ b/ags/app.ts @@ -0,0 +1,28 @@ +import { App } from "astal/gtk3" +import { exec } from "astal/process" + +import Bar from "./widget/Bar" + +function updateStyle() { + App.reset_css() + exec(`sass ./style.scss /tmp/style.css`) + App.apply_css("/tmp/style.css") +} + +App.start({ + requestHandler(request, res) { + switch (request) { + case "reload": + updateStyle() + res("style reloaded") + break; + default: + res("unknown command") + break; + } + }, + main() { + updateStyle() + App.get_monitors().map(Bar) + }, +}) diff --git a/ags/config.js b/ags/config.js deleted file mode 100644 index cc69e2e..0000000 --- a/ags/config.js +++ /dev/null @@ -1,6 +0,0 @@ -import { applauncher } from "./modules/applauncher.js" -import { Bar } from "./modules/bar.js" - -App.config({ - windows: [applauncher, Bar(0)], -}) diff --git a/ags/env.d.ts b/ags/env.d.ts new file mode 100644 index 0000000..467c0a4 --- /dev/null +++ b/ags/env.d.ts @@ -0,0 +1,21 @@ +declare const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/ags/modules/applauncher.js b/ags/modules/applauncher.js deleted file mode 100644 index f380185..0000000 --- a/ags/modules/applauncher.js +++ /dev/null @@ -1,107 +0,0 @@ -const { query } = await Service.import("applications") -const WINDOW_NAME = "applauncher" - -/** @param {import('resource:///com/github/Aylur/ags/service/applications.js').Application} app */ -const AppItem = app => Widget.Button({ - on_clicked: () => { - App.closeWindow(WINDOW_NAME) - app.launch() - }, - attribute: { app }, - child: Widget.Box({ - children: [ - Widget.Icon({ - icon: app.icon_name || "", - size: 42, - }), - Widget.Label({ - class_name: "title", - label: app.name, - xalign: 0, - vpack: "center", - truncate: "end", - }), - ], - }), -}) - -const Applauncher = ({ width = 500, height = 500, spacing = 12 }) => { - // list of application buttons - let applications = query("").map(AppItem) - - // container holding the buttons - const list = Widget.Box({ - vertical: true, - children: applications, - spacing, - }) - - // repopulate the box, so the most frequent apps are on top of the list - function repopulate() { - applications = query("").map(AppItem) - list.children = applications - } - - // search entry - const entry = Widget.Entry({ - hexpand: true, - css: `margin-bottom: ${spacing}px;`, - - // to launch the first item on Enter - on_accept: () => { - // make sure we only consider visible (searched for) applications - const results = applications.filter((item) => item.visible); - if (results[0]) { - App.toggleWindow(WINDOW_NAME) - results[0].attribute.app.launch() - } - }, - - // filter out the list - on_change: ({ text }) => applications.forEach(item => { - item.visible = item.attribute.app.match(text ?? "") - }), - }) - - return Widget.Box({ - vertical: true, - css: `margin: ${spacing * 2}px;`, - children: [ - entry, - - // wrap the list in a scrollable - Widget.Scrollable({ - hscroll: "never", - css: `min-width: ${width}px;` - + `min-height: ${height}px;`, - child: list, - }), - ], - setup: self => self.hook(App, (_, windowName, visible) => { - if (windowName !== WINDOW_NAME) - return - - // when the applauncher shows up - if (visible) { - repopulate() - entry.text = "" - entry.grab_focus() - } - }), - }) -} - -// there needs to be only one instance -export const applauncher = Widget.Window({ - name: WINDOW_NAME, - setup: self => self.keybind("Escape", () => { - App.closeWindow(WINDOW_NAME) - }), - visible: false, - keymode: "exclusive", - child: Applauncher({ - width: 500, - height: 500, - spacing: 12, - }), -}) diff --git a/ags/modules/bar.js b/ags/modules/bar.js deleted file mode 100644 index 28fdaee..0000000 --- a/ags/modules/bar.js +++ /dev/null @@ -1,131 +0,0 @@ -const hyprland = await Service.import("hyprland") -const audio = await Service.import("audio") -const battery = await Service.import("battery") -const network = await Service.import("network") - -const hour = Variable("", { - poll: [60000, 'date "+%H:%M"'] -}) - -function IconLabel(icon, label) { - return [ - Widget.Icon({ icon }), - Widget.Label({ label }), - ] -} - -function Workspaces() { - const active = hyprland.active.workspace.bind("id") - const workspaces = hyprland.bind("workspaces") - .as(ws => ws.map(({ id }) => Widget.Button({ - on_clicked: () => hyprland.messageAsync(`dispatch workspace ${id}`), - child: Widget.Label(`${id}`), - class_name: active.as(i => `${i === id ? "focused" : ""}`) - }))) - return Widget.Box({ - class_name: "workspaces", - children: workspaces, - }) -} - -//function SysTray() { -// -//} - -function Clock() { - return Widget.Label({ - class_name: "clock", - label: hour.bind(), - }) -} - -function Network() { - const label = network.wifi.bind("strength").as(s => ` ${s}`) - return Widget.Box({ - class_name: "network", - children: [ - Widget.Label({ label }) - ] - }) -} - -function Volume() { - const icons = { - 101: "overamplified", - 67: "high", - 34: "medium", - 1: "low", - 0: "muted", - } - function getIcon() { - const icon = audio.speaker.is_muted ? 0 : [101, 67, 34, 1, 0].find( - threshold => threshold <= audio.speaker.volume * 100) - - return `audio-volume-${icons[icon]}-symbolic` - } - - const icon = Utils.watch(getIcon(), audio.speaker, getIcon) - const label = audio.speaker.bind("volume").as(v => ` ${Math.floor(v * 100 + 0.01)}%`) - - return Widget.Box({ - class_name: "volume", - children: IconLabel(icon, label) - }) -} - -function Battery() { - const label = battery.bind("percent").as(p => ` ${p}%`) - const icon = battery.bind("percent").as(p => - `battery-level-${Math.floor(p / 10) * 10}-symbolic` - ) - - return Widget.Box({ - class_name: "battery", - children: IconLabel(icon, label) - }) -} - -function Left() { - return Widget.Box({ - spacing: 10, - children: [ - Workspaces(), - //SysTray(), - ] - }) -} -function Center() { - return Widget.Box({ - spacing: 10, - children: [ - Clock(), - ] - }) -} -function Right() { - return Widget.Box({ - hpack: "end", - spacing: 10, - children: [ - Network(), - Volume(), - Battery(), - ] - }) -} - -export function Bar(monitor = 0) { - return Widget.Window({ - name: `bar-${monitor}`, - class_name: "bar", - monitor, - anchor: ["top", "left", "right"], - exclusivity: "exclusive", - child: Widget.CenterBox({ - start_widget: Left(), - center_widget: Center(), - end_widget: Right(), - }), - }) -} - diff --git a/ags/package.json b/ags/package.json new file mode 100644 index 0000000..44226f2 --- /dev/null +++ b/ags/package.json @@ -0,0 +1,6 @@ +{ + "name": "astal-shell", + "dependencies": { + "astal": "/usr/share/astal/gjs" + } +} diff --git a/ags/style.scss b/ags/style.scss index df7b071..7ad03be 100644 --- a/ags/style.scss +++ b/ags/style.scss @@ -1,5 +1,26 @@ -$base-color: #c6538c; +// https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gtk/theme/Adwaita/_colors-public.scss +$fg-color: #{"@theme_fg_color"}; +$bg-color: #{"@theme_bg_color"}; -window { - background-color: $base-color; +window.Bar { + background: transparent; + color: $fg-color; + font-weight: bold; + + >centerbox { + background: $bg-color; + border-radius: 10px; + margin: 8px; + } + + >box { + background: $bg-color; + border-radius: 10px; + margin: 8px; + } + + button { + border-radius: 8px; + margin: 2px; + } } diff --git a/ags/tsconfig.json b/ags/tsconfig.json index 6860767..9471e35 100644 --- a/ags/tsconfig.json +++ b/ags/tsconfig.json @@ -1,18 +1,14 @@ { - "compilerOptions": { - "target": "ES2022", - "module": "ES2022", - "lib": [ - "ES2022" - ], - "allowJs": true, - "checkJs": true, - "strict": true, - "noImplicitAny": false, - "baseUrl": ".", - "typeRoots": [ - "./types" - ], - "skipLibCheck": true - } + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "astal/gtk3", + } } diff --git a/ags/types b/ags/types deleted file mode 120000 index a8e3f04..0000000 --- a/ags/types +++ /dev/null @@ -1 +0,0 @@ -/usr/share/com.github.Aylur.ags/types
\ No newline at end of file diff --git a/ags/widget/Bar.tsx b/ags/widget/Bar.tsx new file mode 100644 index 0000000..d994797 --- /dev/null +++ b/ags/widget/Bar.tsx @@ -0,0 +1,53 @@ +import { App, Astal, Gtk, Gdk, Widget } from "astal/gtk3" +import { Variable } from "astal" +import { BoxProps, CenterBoxProps } from "astal/gtk3/widget" + +const { TOP, LEFT, RIGHT, BOTTOM } = Astal.WindowAnchor +const { START, CENTER, END } = Gtk.Align + +const time = Variable("").poll(1000, "date") + +function VerticalCenterBox(props: CenterBoxProps) { + return <centerbox + {...props} + vertical + /> +} + +function VerticalBox(props: BoxProps) { + return <box + {...props} + vertical + /> +} + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return <window + name="Bar" + className="Bar" + gdkmonitor={gdkmonitor} + exclusivity={Astal.Exclusivity.EXCLUSIVE} + anchor={TOP | LEFT | BOTTOM} + application={App}> + <VerticalCenterBox> + <button + onClicked="echo hello" + halign={CENTER} + valign={START} + > + Welcome to AGS! + </button> + <VerticalBox> + <label>CIAO</label> + <label>CIAO</label> + </VerticalBox> + <button + onClicked={() => print("hello")} + halign={CENTER} + valign={END} + > + <label label={time()} /> + </button> + </VerticalCenterBox> + </window> +} diff --git a/fish/config.fish b/fish/config.fish index 3711bc3..616d877 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -5,32 +5,23 @@ function fish_prompt end function start_niri - # Make sure there's no already running session. if systemctl --user -q is-active niri.service echo 'A Niri session is already running.' exit 1 end - # Reset failed state of all user units systemctl --user reset-failed - # Import the login manager environment. - # systemctl --user import-environment - # DBus activation environment is independent from systemd. While most of - # dbus-activated services are already using `SystemdService` directive, some - # still don't and thus we should set the dbus environment with a separate - # command. dbus-update-activation-environment --all - # Start niri and wait for it to terminate. systemctl --user --wait start niri.service - # Force stop of graphical-session.target. systemctl --user start --job-mode=replace-irreversibly niri-shutdown.target - # Unset environment that we've set. systemctl --user unset-environment WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP NIRI_SOCKET end fish_add_path -p ~/.cargo/bin ~/.ghcup/bin set -U fish_greeting +set EDITOR "neovim" if status is-login start_niri kill $fish_pid end + diff --git a/fish/fish_plugins b/fish/fish_plugins deleted file mode 100644 index 797cf45..0000000 --- a/fish/fish_plugins +++ /dev/null @@ -1 +0,0 @@ -catppuccin/fish diff --git a/fish/fish_variables b/fish/fish_variables deleted file mode 100644 index 8bdfbd6..0000000 --- a/fish/fish_variables +++ /dev/null @@ -1,47 +0,0 @@ -# This file contains fish universal variable definitions. -# VERSION: 3.0 -SETUVAR __fish_initialized:3400 -SETUVAR _fisher_catppuccin_2F_fish_files:\x7e/\x2econfig/fish/themes/Catppuccin\x20Frappe\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Latte\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Macchiato\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Mocha\x2etheme -SETUVAR _fisher_plugins:catppuccin/fish -SETUVAR _fisher_upgraded_to_4_4:\x1d -SETUVAR fish_color_autosuggestion:6e738d -SETUVAR fish_color_cancel:ed8796 -SETUVAR fish_color_command:8aadf4 -SETUVAR fish_color_comment:8087a2 -SETUVAR fish_color_cwd:eed49f -SETUVAR fish_color_cwd_root:red -SETUVAR fish_color_end:f5a97f -SETUVAR fish_color_error:ed8796 -SETUVAR fish_color_escape:ee99a0 -SETUVAR fish_color_gray:6e738d -SETUVAR fish_color_history_current:\x2d\x2dbold -SETUVAR fish_color_host:8aadf4 -SETUVAR fish_color_host_remote:a6da95 -SETUVAR fish_color_keyword:ed8796 -SETUVAR fish_color_normal:cad3f5 -SETUVAR fish_color_operator:f5bde6 -SETUVAR fish_color_option:a6da95 -SETUVAR fish_color_param:f0c6c6 -SETUVAR fish_color_quote:a6da95 -SETUVAR fish_color_redirection:f5bde6 -SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d363a4f -SETUVAR fish_color_selection:\x2d\x2dbackground\x3d363a4f -SETUVAR fish_color_status:ed8796 -SETUVAR fish_color_user:8bd5ca -SETUVAR fish_color_valid_path:\x2d\x2dunderline -SETUVAR fish_greeting:\x1d -SETUVAR fish_key_bindings:fish_default_key_bindings -SETUVAR fish_pager_color_background:\x1d -SETUVAR fish_pager_color_completion:cad3f5 -SETUVAR fish_pager_color_description:6e738d -SETUVAR fish_pager_color_prefix:f5bde6 -SETUVAR fish_pager_color_progress:6e738d -SETUVAR fish_pager_color_secondary_background:\x1d -SETUVAR fish_pager_color_secondary_completion:\x1d -SETUVAR fish_pager_color_secondary_description:\x1d -SETUVAR fish_pager_color_secondary_prefix:\x1d -SETUVAR fish_pager_color_selected_background:\x1d -SETUVAR fish_pager_color_selected_completion:\x1d -SETUVAR fish_pager_color_selected_description:\x1d -SETUVAR fish_pager_color_selected_prefix:\x1d -SETUVAR fish_user_paths:/home/eric/\x2ecargo/bin\x1e/home/eric/\x2eghcup/bin diff --git a/fish/themes/Catppuccin Macchiato.theme b/fish/themes/Catppuccin Macchiato.theme deleted file mode 100644 index e90b630..0000000 --- a/fish/themes/Catppuccin Macchiato.theme +++ /dev/null @@ -1,30 +0,0 @@ -# name: 'Catppuccin macchiato' -# url: 'https://github.com/catppuccin/fish' -# preferred_background: 24273a - -fish_color_normal cad3f5 -fish_color_command 8aadf4 -fish_color_param f0c6c6 -fish_color_keyword ed8796 -fish_color_quote a6da95 -fish_color_redirection f5bde6 -fish_color_end f5a97f -fish_color_comment 8087a2 -fish_color_error ed8796 -fish_color_gray 6e738d -fish_color_selection --background=363a4f -fish_color_search_match --background=363a4f -fish_color_option a6da95 -fish_color_operator f5bde6 -fish_color_escape ee99a0 -fish_color_autosuggestion 6e738d -fish_color_cancel ed8796 -fish_color_cwd eed49f -fish_color_user 8bd5ca -fish_color_host 8aadf4 -fish_color_host_remote a6da95 -fish_color_status ed8796 -fish_pager_color_progress 6e738d -fish_pager_color_prefix f5bde6 -fish_pager_color_completion cad3f5 -fish_pager_color_description 6e738d diff --git a/foot/foot.ini b/foot/foot.ini deleted file mode 100644 index 2abeff8..0000000 --- a/foot/foot.ini +++ /dev/null @@ -1,42 +0,0 @@ -font=Hack Nerd Font:size=10,Noto Color Emoji:size=10,Sazanami Gothic:size=10 -pad=15x15 -dpi-aware=yes -term=foot-extra - -[cursor] -style=block -blink=yes - -[scrollback] -indicator-position=none - -[colors] -foreground=cad3f5 -background=24273a - -regular0=494d64 -regular1=ed8796 -regular2=a6da95 -regular3=eed49f -regular4=8aadf4 -regular5=f5bde6 -regular6=8bd5ca -regular7=b8c0e0 - -bright0=5b6078 -bright1=ed8796 -bright2=a6da95 -bright3=eed49f -bright4=8aadf4 -bright5=f5bde6 -bright6=8bd5ca -bright7=a5adcb - -selection-foreground=cad3f5 -selection-background=454a5f - -search-box-no-match=181926 ed8796 -search-box-match=cad3f5 363a4f - -jump-labels=181926 f5a97f -urls=8aadf4 diff --git a/fuzzel/powermenu.sh b/fuzzel/powermenu.sh deleted file mode 100755 index 22b17c3..0000000 --- a/fuzzel/powermenu.sh +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/sh - -poweroff=" Poweroff" -reboot=" Reboot" -lock=" Lock" -exit=" Exit" - -chosen=$(echo -e "$poweroff\n$reboot\n$lock\n$exit" | fuzzel --dmenu --lines 4 --width 15) - -case "$chosen" in - "$poweroff") shutdown now ;; - "$reboot") reboot ;; - "$lock") loginctl lock-session ;; - # "$exit") hyprctl dispatch exit ;; - "$exit") niri msg action quit ;; - *) exit 1 ;; -esac - diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf index 1389d93..e258a0c 100644 --- a/hypr/hypridle.conf +++ b/hypr/hypridle.conf @@ -1,10 +1,14 @@ general { - lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. - before_sleep_cmd = loginctl lock-session # lock before suspend. - after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. + lock_cmd = pidof hyprlock || hyprlock } listener { - timeout = 300 - on-timeout = loginctl lock-session + timeout = 300 + on-timeout = brightnessctl -se set 10% + on-resume = brightnessctl -r +} + +listener { + timeout = 450 + on-timeout = loginctl lock-session && niri msg action power-off-monitors } diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf deleted file mode 100644 index 686d14d..0000000 --- a/hypr/hyprland.conf +++ /dev/null @@ -1,179 +0,0 @@ -# This is an example Hyprland config file. -# -# Refer to the wiki for more information. - -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor = eDP-1, 2560x1600@60, 0x0, 2 -monitor = HDMI-A-1, preferred, auto, 1, mirror, eDP-1 -# monitor = HDMI-A-1, 0x0, 0x0, 2 - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Execute your favorite apps at launch -exec-once = hypridle & foot -s & waybar & wbg Pictures/Backgrounds/Mandelbrot/mandelbrot_full_red.png & dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - -# Source a file (multi-file configs) -source = ~/.config/hypr/macchiato.conf - -# Set programs that you use -$terminal = footclient -$applauncher = fuzzel --counter -$powermenu = .config/fuzzel/powermenu.sh - -# Some default env vars. -env = XCURSOR_SIZE,24 -env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = it - - follow_mouse = 1 - mouse_refocus = false - - touchpad { - natural_scroll = false - disable_while_typing = false - } - - sensitivity = -0.125 # -1.0 - 1.0, 0 means no modification. -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 10 - border_size = 1 - col.active_border = $red - col.inactive_border = $surface0 - - layout = dwindle - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - # drop_shadow = false -} - -animations { - enabled = true - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # you probably want this - force_split = 2 -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = "master" -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - disable_hyprland_logo = true - vfr = true -} - -xwayland { - force_zero_scaling = true -} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrulev2 = tile, title: ^(Godot)$ -windowrulev2 = float, class: steam, title: ^(?!(Steam)$).*$ -windowrulev2 = fullscreen, class: oolite - -layerrule = animation popin 45%, launcher - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Return, exec, $terminal -bind = $mainMod, C, killactive -bind = $mainMod, Escape, exec, $powermenu -bind = $mainMod, V, togglefloating -bind = $mainMod, space, exec, $applauncher -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod SHIFT, F, fullscreen, 1 -bind = $mainMod, F, fullscreen, 0 -bind = , Print, exec, grimblast copy -bind = SHIFT, Print, exec, grimblast copy active - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [1-5] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 - -# Move active window to a workspace with mainMod + SHIFT + [1-5] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Monitor backlight -bind = , XF86MonBrightnessUp, exec, brightnessctl s +5% -bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%- - -# Volume Media Control -bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 -bind = , XF86AudioLowerVolume, exec, pamixer -d 5 -bind = , XF86AudioMicMute, exec, pamixer --default-source -m -bind = , XF86AudioMute, exec, pamixer -t -bind = , XF86AudioPlay, exec, playerctl play-pause -bind = , XF86AudioPause, exec, playerctl play-pause -bind = , XF86AudioNext, exec, playerctl next -bind = , XF86AudioPrev, exec, playerctl previous diff --git a/hypr/macchiato.conf b/hypr/macchiato.conf deleted file mode 100644 index 0a90d22..0000000 --- a/hypr/macchiato.conf +++ /dev/null @@ -1,61 +0,0 @@ -$rosewaterAlpha = f4dbd6 -$flamingoAlpha = f0c6c6 -$pinkAlpha = f5bde6 -$mauveAlpha = c6a0f6 -$redAlpha = ed8796 -$maroonAlpha = ee99a0 -$peachAlpha = f5a97f -$yellowAlpha = eed49f -$greenAlpha = a6da95 -$tealAlpha = 8bd5ca -$skyAlpha = 91d7e3 -$sapphireAlpha = 7dc4e4 -$blueAlpha = 8aadf4 -$lavenderAlpha = b7bdf8 - -$textAlpha = cad3f5 -$subtext1Alpha = b8c0e0 -$subtext0Alpha = a5adcb - -$overlay2Alpha = 939ab7 -$overlay1Alpha = 8087a2 -$overlay0Alpha = 6e738d - -$surface2Alpha = 5b6078 -$surface1Alpha = 494d64 -$surface0Alpha = 363a4f - -$baseAlpha = 24273a -$mantleAlpha = 1e2030 -$crustAlpha = 181926 - -$rosewater = 0xfff4dbd6 -$flamingo = 0xfff0c6c6 -$pink = 0xfff5bde6 -$mauve = 0xffc6a0f6 -$red = 0xffed8796 -$maroon = 0xffee99a0 -$peach = 0xfff5a97f -$yellow = 0xffeed49f -$green = 0xffa6da95 -$teal = 0xff8bd5ca -$sky = 0xff91d7e3 -$sapphire = 0xff7dc4e4 -$blue = 0xff8aadf4 -$lavender = 0xffb7bdf8 - -$text = 0xffcad3f5 -$subtext1 = 0xffb8c0e0 -$subtext0 = 0xffa5adcb - -$overlay2 = 0xff939ab7 -$overlay1 = 0xff8087a2 -$overlay0 = 0xff6e738d - -$surface2 = 0xff5b6078 -$surface1 = 0xff494d64 -$surface0 = 0xff363a4f - -$base = 0xff24273a -$mantle = 0xff1e2030 -$crust = 0xff181926 diff --git a/niri/config.kdl b/niri/config.kdl deleted file mode 100644 index 39ca280..0000000 --- a/niri/config.kdl +++ /dev/null @@ -1,246 +0,0 @@ -environment { - QT_QPA_PLATFORM "wayland" - DISPLAY ":0" -} -hotkey-overlay { - skip-at-startup -} -cursor { - // xcursor-theme "breeze_cursors" - // xcursor-size 48 - - // hide-when-typing - hide-after-inactive-ms 5000 -} -prefer-no-csd -screenshot-path null - -input { - keyboard { - xkb { - layout "it" - } - } - - touchpad { - tap - natural-scroll - } - - mouse { - // off - // natural-scroll - // accel-speed 0.2 - // accel-profile "flat" - // scroll-factor 1.0 - // scroll-method "no-scroll" - // scroll-button 273 - // left-handed - // middle-emulation - } - - // disable-power-key-handling - // warp-mouse-to-focus - // focus-follows-mouse max-scroll-amount="0%" - // workspace-auto-back-and-forth -} - -output "eDP-1" { - // off - mode "2560x1600@60.000" - scale 2.0 - transform "normal" - position x=0 y=0 -} - -output "HDMI-A-1" { - -} - -layout { - gaps 5 - center-focused-column "never" - // empty-workspace-above-first - - preset-column-widths { - proportion 0.33333 - proportion 0.5 - proportion 0.66667 - } - default-column-width { proportion 0.5; } - - preset-window-heights { - proportion 0.33333 - proportion 0.5 - proportion 0.66667 - } - - focus-ring { - off - } - - border { - // off - width 1 - active-color "#ed8796" - inactive-color "#363a4f" - } - - struts { - left 5 - right 5 - top 0 - bottom 5 - } -} - -animations { - // off -} - -window-rule { - match app-id=r#"^org\.wezfurlong\.wezterm$"# - default-column-width {} -} -window-rule { - match app-id=r#"^firefox$"# - border { - width 2 - } -} - -switch-events {} - -binds { - Mod+Backslash { show-hotkey-overlay; } - - Mod+Return { spawn "footclient"; } - Mod+Space { spawn "fuzzel"; } - Mod+Escape { spawn "~/.config/fuzzel/powermenu.sh"; } - - XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; } - XF86AudioMute allow-when-locked=true { spawn "pamixer" "-t"; } - XF86AudioMicMute allow-when-locked=true { spawn "pamixer" "--default-source" "-m"; } - XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "s" "+5%"; } - XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "s" "5%-"; } - - Mod+Q { close-window; } - - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - Mod+Ctrl+L { move-column-right; } - - Mod+Home { focus-column-first; } - Mod+End { focus-column-last; } - Mod+Ctrl+Home { move-column-to-first; } - Mod+Ctrl+End { move-column-to-last; } - - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } - - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - - Mod+Page_Down { focus-workspace-down; } - Mod+Page_Up { focus-workspace-up; } - Mod+U { focus-workspace-down; } - Mod+I { focus-workspace-up; } - Mod+Ctrl+Page_Down { move-column-to-workspace-down; } - Mod+Ctrl+Page_Up { move-column-to-workspace-up; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+I { move-column-to-workspace-up; } - - Mod+Shift+Page_Down { move-workspace-down; } - Mod+Shift+Page_Up { move-workspace-up; } - Mod+Shift+U { move-workspace-down; } - Mod+Shift+I { move-workspace-up; } - - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+Ctrl+1 { move-column-to-workspace 1; } - Mod+Ctrl+2 { move-column-to-workspace 2; } - Mod+Ctrl+3 { move-column-to-workspace 3; } - Mod+Ctrl+4 { move-column-to-workspace 4; } - Mod+Ctrl+5 { move-column-to-workspace 5; } - Mod+Ctrl+6 { move-column-to-workspace 6; } - Mod+Ctrl+7 { move-column-to-workspace 7; } - Mod+Ctrl+8 { move-column-to-workspace 8; } - Mod+Ctrl+9 { move-column-to-workspace 9; } - - Mod+Tab { focus-workspace-previous; } - Mod+Comma { consume-window-into-column; } - Mod+Period { expel-window-from-column; } - - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - - Mod+R { switch-preset-column-width; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } - Mod+Shift+F { fullscreen-window; } - Mod+C { center-column; } - - Mod+Minus { set-column-width "-10%"; } - Mod+Plus { set-column-width "+10%"; } - - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } - - Print { screenshot; } - Ctrl+Print { screenshot-screen; } - Alt+Print { screenshot-window; } - - Mod+Shift+E { quit; } - - Mod+Shift+P { power-off-monitors; } -} diff --git a/nvim/lua/plugins/catppuccin.lua b/nvim/lua/plugins/catppuccin.lua deleted file mode 100644 index 8599732..0000000 --- a/nvim/lua/plugins/catppuccin.lua +++ /dev/null @@ -1,58 +0,0 @@ -local config = function() - require("catppuccin").setup({ - custom_highlights = function(colors) - return { - TodoError = { fg = colors.base, bg = colors.red }, - } - end, - integrations = { - dashboard = true, - indent_blankline = { - enabled = true, - colored_indent_levels = false, - }, - lsp_saga = false, - neotree = false, - cmp = true, - native_lsp = { - enabled = true, - virtual_text = { - errors = { "italic" }, - hints = { "italic" }, - warnings = { "italic" }, - information = { "italic" }, - ok = { "italic" }, - }, - underlines = { - errors = { "undercurl" }, - hints = { "underline" }, - warnings = { "undercurl" }, - information = { "underline" }, - ok = { "underline" }, - }, - inlay_hints = { - background = true, - }, - }, - treesitter = true, - telescope = { - enabled = true, - -- style = "nvchad" - }, - lsp_trouble = false, - illuminate = { - enabled = true, - lsp = false - }, - which_key = false - } - }) - vim.cmd.colorscheme("catppuccin-macchiato") -end - -return { - "catppuccin/nvim", - name = "catppuccin", - lazy = false, - config = config, -} diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua index 397e481..d9a108b 100644 --- a/nvim/lua/plugins/lualine.lua +++ b/nvim/lua/plugins/lualine.lua @@ -1,7 +1,7 @@ local config = function() require("lualine").setup({ options = { - theme = "catppuccin", + theme = "auto", globalstatus = true, disabled_filetypes = { "toggleterm", "lazy", "oil", "dashboard", "TelescopePrompt", "oil_preview" } }, diff --git a/nvim/lua/plugins/neopywal.lua b/nvim/lua/plugins/neopywal.lua new file mode 100644 index 0000000..e95686a --- /dev/null +++ b/nvim/lua/plugins/neopywal.lua @@ -0,0 +1,18 @@ +local init = function() + vim.cmd.colorscheme("neopywal") +end + +local config = function() + require("neopywal").setup({ + use_wallust = true, + }) +end + +return { + "RedsXDD/neopywal.nvim", + lazy = false, + name = "neopywal", + init = init, + config = config, + priority = 1000, +} diff --git a/nvim/lua/plugins/nvim-cmp.lua b/nvim/lua/plugins/nvim-cmp.lua index 800391d..b7d71a3 100644 --- a/nvim/lua/plugins/nvim-cmp.lua +++ b/nvim/lua/plugins/nvim-cmp.lua @@ -41,9 +41,9 @@ local config = function() }, { { name = "nvim_lsp" }, }, { - { name = "buffer" }, - }, { { name = "path" }, + }, { + { name = "buffer" }, } ) }) diff --git a/nvim/lua/plugins/nvim-treesitter.lua b/nvim/lua/plugins/nvim-treesitter.lua index ffb8824..1c9ecdc 100644 --- a/nvim/lua/plugins/nvim-treesitter.lua +++ b/nvim/lua/plugins/nvim-treesitter.lua @@ -21,6 +21,8 @@ local config = function() "nix", "javascript", "norg", + "fish", + "kdl", }, auto_install = false, highlight = { diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua index cb17298..0796d4f 100644 --- a/nvim/lua/plugins/telescope.lua +++ b/nvim/lua/plugins/telescope.lua @@ -16,8 +16,7 @@ local init = function() end local config = function() - local telescope = require("telescope") - telescope.setup({ + require("telescope").setup({ defaults = { mappings = { i = { diff --git a/scripts/powermenu b/scripts/powermenu new file mode 100755 index 0000000..79519ed --- /dev/null +++ b/scripts/powermenu @@ -0,0 +1,20 @@ +#!/usr/bin/fish +set poweroff " Poweroff" +set reboot " Reboot" +set lock " Lock" +set exit " Exit" + +set chosen (echo -e "$poweroff\n$reboot\n$lock\n$exit" | fuzzel --dmenu --lines 4 --width 15) + +switch $chosen + case $poweroff + shutdown now + case $reboot + reboot + case $lock + loginctl lock-session + case $exit + niri msg action quit + case '*' + exit 1 +end diff --git a/scripts/set_background b/scripts/set_background new file mode 100755 index 0000000..41522a0 --- /dev/null +++ b/scripts/set_background @@ -0,0 +1,16 @@ +#!/usr/bin/fish + +if test (count $argv) -lt 1; or not test -f $argv[1] + echo "Usage: $(status filename) <img>" + exit 1 +end + +set -x SWWW_TRANSITION "wipe" +set -x SWWW_TRANSITION_FPS 60 +set -U img $argv[1] + +niri msg action do-screen-transition +swww img $img +wallust run $img +makoctl reload + diff --git a/scripts/set_random b/scripts/set_random new file mode 100755 index 0000000..cdc4018 --- /dev/null +++ b/scripts/set_random @@ -0,0 +1,14 @@ +#!/usr/bin/fish + +if test (count $argv) -lt 1; or not test -d $argv[1] + echo "Usage: $(status filename) <dir>" + exit 1 +end + +~/.config/scripts/set_background ( + for file in (find $argv[1] -type f) + if test -z $img; or test $file != $img + echo (math (random) % 1000)":$file" + end + end | sort -n | head -n 1 | cut -d ':' -f2) + diff --git a/scripts/wallpapermenu b/scripts/wallpapermenu new file mode 100755 index 0000000..9a3de1d --- /dev/null +++ b/scripts/wallpapermenu @@ -0,0 +1,11 @@ +#!/usr/bin/fish + +set dir "/home/eric.marin/Pictures/Backgrounds/" +set chosen ( + for file in (find $dir -type f) + if test -z $img; or test $file != $img + echo "$file" + end + end | cut -d '/' -f6 | fuzzel --dmenu) + +~/.config/scripts/set_background (echo $dir$chosen) diff --git a/systemd/user/niri.service.wants/foot-server.service b/systemd/user/niri.service.wants/foot-server.service deleted file mode 120000 index fd59578..0000000 --- a/systemd/user/niri.service.wants/foot-server.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/user/foot-server.service
\ No newline at end of file diff --git a/systemd/user/niri.service.wants/swww.service b/systemd/user/niri.service.wants/swww.service new file mode 120000 index 0000000..c4615c1 --- /dev/null +++ b/systemd/user/niri.service.wants/swww.service @@ -0,0 +1 @@ +/home/eric/.config/systemd/user/swww.service
\ No newline at end of file diff --git a/systemd/user/niri.service.wants/wbg.service b/systemd/user/niri.service.wants/wbg.service deleted file mode 120000 index c9f9acb..0000000 --- a/systemd/user/niri.service.wants/wbg.service +++ /dev/null @@ -1 +0,0 @@ -/home/eric/.config/systemd/user/wbg.service
\ No newline at end of file diff --git a/systemd/user/wbg.service b/systemd/user/swww.service index 229bace..07fee1d 100644 --- a/systemd/user/wbg.service +++ b/systemd/user/swww.service @@ -4,5 +4,5 @@ After=graphical-session.target Requisite=graphical-session.target [Service] -ExecStart=/usr/bin/wbg "%h/Pictures/Backgrounds/Mandelbrot/mandelbrot_full_red.png" +ExecStart=/usr/bin/swww-daemon Restart=on-failure diff --git a/wallust/templates/foot b/wallust/templates/foot new file mode 100644 index 0000000..cd12385 --- /dev/null +++ b/wallust/templates/foot @@ -0,0 +1,34 @@ +font=Hack Nerd Font:size=10,Noto Color Emoji:size=10,Sazanami Gothic:size=10 +pad=15x15 +dpi-aware=yes +term=foot-extra + +[cursor] +style=block +blink=yes + +[scrollback] +indicator-position=none + +[colors] +foreground={{foreground | strip}} +background={{background | strip}} + +regular0={{color0 | strip}} +regular1={{color1 | strip}} +regular2={{color2 | strip}} +regular3={{color3 | strip}} +regular4={{color4 | strip}} +regular5={{color5 | strip}} +regular6={{color6 | strip}} +regular7={{color7 | strip}} + +bright0={{color8 | strip}} +bright1={{color9 | strip}} +bright2={{color10 | strip}} +bright3={{color11 | strip}} +bright4={{color12 | strip}} +bright5={{color13 | strip}} +bright6={{color14 | strip}} +bright7={{color15 | strip}} + diff --git a/fuzzel/fuzzel.ini b/wallust/templates/fuzzel index a50f09b..5d388ee 100644 --- a/fuzzel/fuzzel.ini +++ b/wallust/templates/fuzzel @@ -16,7 +16,7 @@ icon-theme=Papirus # delayed-filter-ms=300 # delayed-filter-limit=20000 # show-actions=no -terminal=footclient -o pad=0x0 +terminal=foot -o pad=0x0 # launch-prefix=<not set> # list-executables-in-path=no @@ -44,21 +44,21 @@ image-size-ratio=0 # match-workers=<number of logical CPUs> [colors] -background=1e2030ff -text=cad3f5ff -prompt=ed8796ff -placeholder=a5adcbff -input=cad3f5ff -match=ed8796ff -selection=ed8796ff -selection-text=24273aff -selection-match=24273aff -counter=a5adcbff -border=363a4fff +background= {{background | strip}}FF +text= {{foreground | strip}}FF +prompt= {{color4 | strip}}FF +placeholder= {{color2 | strip}}FF +input= {{foreground | strip}}FF +match= {{color4 | strip}}FF +selection= {{color0 | strip}}FF +selection-text= {{color5 | strip}}FF +selection-match= {{color5 | strip}}FF +counter= {{color1 | strip}}FF +border= {{color1 | strip}}FF [border] width=2 -radius=10 +radius=0 [dmenu] # mode=text # text|index diff --git a/hypr/hyprlock.conf b/wallust/templates/hyprlock index 6a999c6..9c37a34 100644 --- a/hypr/hyprlock.conf +++ b/wallust/templates/hyprlock @@ -1,27 +1,31 @@ general { hide_cursor = true ignore_empty_input = true + immediate_render = true + disable_loading_bar = true } background { monitor = eDP-1 - path = /home/eric/Pictures/Backgrounds/buttons.png + path = {{wallpaper}} + blur_passes = 2 + blur_size = 1 } input-field { monitor = eDP-1 size = 500, 100 - outline_thickness = 1 + outline_thickness = 2 dots_size = 0.3 # Scale of input-field height, 0.2 - 0.8 dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = false - outer_color = rgb(54, 58, 79) - inner_color = rgb(36, 39, 58) - font_color = rgb(202, 211, 245) + outer_color = rgb({{color1 | rgb}}) + inner_color = rgb({{background | rgb}}) + font_color = rgb({{foreground | rgb}}) fade_on_empty = true placeholder_text = <i></i> fail_text = <i>Wrong Password...</i> - fail_color = rgb(237,135,150) + fail_color = rgb({{color6 | rgb}}) position = 0, -300 halign = center @@ -30,12 +34,15 @@ input-field { label { monitor = eDP-1 text = cmd[update:1000] date +"%H:%M:%S" - color = rgb(202, 211, 245) + color = rgb({{foreground | rgb}}) font_size = 100 font_family = Hack Nerd Font position = 0, 300 halign = center valign = center + + shadow_passes = 1 + shadow_color = rgb({{background | rgb}}) } diff --git a/mako/config b/wallust/templates/mako index 2ea216e..0211d7c 100644 --- a/mako/config +++ b/wallust/templates/mako @@ -1,19 +1,22 @@ layer=overlay -background-color=#181926 +background-color={{background}} border-size=1 -border-color=#363a4f -border-radius=10 +border-color={{color2}} +border-radius=0 default-timeout=5000 ignore-timeout=1 font=Noto Color Emoji 10, Sazanami Gothic 10, Hack Nerd Font 10 -text-color=#cad3f5 +text-color={{foreground}} outer-margin=0,5,15,0 anchor=bottom-right [urgency=high] -border-color=#ed8796 +border-color={{color4}} default-timeout=0 +[urgency=low] +border-color={{color0}} + [category=mpd] default-timeout=2000 group-by=category diff --git a/wallust/templates/niri b/wallust/templates/niri new file mode 100644 index 0000000..1b88179 --- /dev/null +++ b/wallust/templates/niri @@ -0,0 +1,208 @@ +environment { + QT_QPA_PLATFORM "wayland" + DISPLAY ":0" +} +hotkey-overlay { + skip-at-startup +} +cursor { + // xcursor-theme "breeze_cursors" + // xcursor-size 48 + + // hide-when-typing + hide-after-inactive-ms 5000 +} +prefer-no-csd +screenshot-path null + +input { + keyboard { + xkb { + layout "it" + } + } + + touchpad { + tap + natural-scroll + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-factor 1.0 + // scroll-method "no-scroll" + // scroll-button 273 + // left-handed + // middle-emulation + } + + // disable-power-key-handling + // warp-mouse-to-focus + // focus-follows-mouse max-scroll-amount="0%" + // workspace-auto-back-and-forth +} + +output "eDP-1" { + // off + mode "2560x1600@60.000" + scale 2.0 + transform "normal" + position x=0 y=0 +} + +output "HDMI-A-1" { + +} + +layout { + gaps 5 + center-focused-column "never" + // empty-workspace-above-first + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + default-column-width { proportion 0.5; } + + preset-window-heights { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + focus-ring { + off + } + + border { + // off + width 1 + active-color "{{color1}}" + inactive-color "{{color0}}" + } + + struts { + left 5 + right 5 + top 0 + bottom 5 + } +} + +animations { + // off +} + +window-rule { + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} +window-rule { + match title="btop" + match title="nmtui" + default-column-width { proportion 1.0; } +} +window-rule { + //geometry-corner-radius 10 + clip-to-geometry true +} + +switch-events {} + +binds { + Mod+Backslash { show-hotkey-overlay; } + + Mod+Return { spawn "foot"; } + Mod+Space { spawn "fuzzel"; } + Mod+Escape { spawn "~/.config/scripts/powermenu"; } + Mod+W { spawn "~/.config/scripts/set_random" "/home/eric.marin/Pictures/Backgrounds/"; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; } + XF86AudioMute allow-when-locked=true { spawn "pamixer" "-t"; } + XF86AudioMicMute allow-when-locked=true { spawn "pamixer" "--default-source" "-m"; } + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "-e" "s" "+5%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "-e" "s" "5%-"; } + + Mod+Q { close-window; } + + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + Mod+Ctrl+H { move-column-left; } + Mod+Ctrl+J { move-window-down; } + Mod+Ctrl+K { move-window-up; } + Mod+Ctrl+L { move-column-right; } + + Mod+N { focus-column-first; } + Mod+M { focus-column-last; } + Mod+Ctrl+N { move-column-to-first; } + Mod+Ctrl+M { move-column-to-last; } + + Mod+Shift+H { focus-monitor-left; } + Mod+Shift+J { focus-monitor-down; } + Mod+Shift+K { focus-monitor-up; } + Mod+Shift+L { focus-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+I { move-column-to-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + Mod+Tab { focus-workspace-previous; } + + Mod+Comma { consume-window-into-column; } + Mod+Period { expel-window-from-column; } + Mod+O { consume-or-expel-window-left; } + Mod+P { consume-or-expel-window-right; } + + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+C { center-column; } + + Mod+Minus { set-column-width "-10%"; } + Mod+Plus { set-column-width "+10%"; } + + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Plus { set-window-height "+10%"; } + + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + + Mod+Shift+E { quit; } +} diff --git a/wallust/templates/nvim b/wallust/templates/nvim new file mode 100644 index 0000000..c5e966d --- /dev/null +++ b/wallust/templates/nvim @@ -0,0 +1,19 @@ +let background = "{{background}}" +let foreground = "{{foreground}}" +let cursor = "{{cursor}}" +let color0 = "{{color0}}" +let color1 = "{{color1}}" +let color2 = "{{color2}}" +let color3 = "{{color3}}" +let color4 = "{{color4}}" +let color5 = "{{color5}}" +let color6 = "{{color6}}" +let color7 = "{{color7}}" +let color8 = "{{color8}}" +let color9 = "{{color9}}" +let color10 = "{{color10}}" +let color11 = "{{color11}}" +let color12 = "{{color12}}" +let color13 = "{{color13}}" +let color14 = "{{color14}}" +let color15 = "{{color15}}" diff --git a/wallust/wallust.toml b/wallust/wallust.toml new file mode 100644 index 0000000..fa2e790 --- /dev/null +++ b/wallust/wallust.toml @@ -0,0 +1,24 @@ +backend = "kmeans" +check_contrast = true +color_space = "lch" +fallback_generator = "complementary" +palette = "ansidark" + +[templates] +foot.template = "foot" +foot.target = "~/.config/foot/foot.ini" + +nvim.template = "nvim" +nvim.target = "~/.cache/wallust/colors_neopywal.vim" + +fuzzel.template = "fuzzel" +fuzzel.target = "~/.config/fuzzel/fuzzel.ini" + +niri.template = "niri" +niri.target = "~/.config/niri/config.kdl" + +hyprlock.template = "hyprlock" +hyprlock.target = "~/.config/hypr/hyprlock.conf" + +mako.template = "mako" +mako.target = "~/.config/mako/config" diff --git a/waybar/config b/waybar/config index 5ad6571..ef7c4b6 100644 --- a/waybar/config +++ b/waybar/config @@ -9,6 +9,7 @@ "custom/cat": { "format": "<span color='#181926' font-family='Symbols Nerd Font Mono'></span>", "tooltip": false, + "on-click": "~/.config/scripts/set_random ~/Pictures/Backgrounds/" }, "hyprland/workspaces": { "persistent-workspaces": { @@ -28,13 +29,13 @@ "format": "", "format-connected": "<span color='#8aadf4' font-family='Symbols Nerd Font Mono'></span>", "tooltip-format": "{device_alias}", - "on-click": "footclient bluetuith" + "on-click": "foot bluetuith" }, "network": { "format-wifi": "<span color='#b7bdf8' font-family='Symbols Nerd Font Mono'></span>", "format-disconnected": "<span color='#b7bdf4' font-family='Symbols Nerd Font Mono'></span>", "tooltip-format": "{essid}", - "on-click": "footclient -o pad=0x0 nmtui" + "on-click": "foot -T nmtui -o pad=0x0 nmtui" }, "pulseaudio": { "format": "<span color='#c6a0f6' font-family='Symbols Nerd Font Mono'>{icon}</span> {volume}%", @@ -42,7 +43,7 @@ "format-icons": { "default": ["", "", ""], }, - "on-click": "footclient pulsemixer" + "on-click": "foot pulsemixer" }, "backlight": { "device": "intel_backlight", @@ -63,7 +64,7 @@ "<span color='#ee99a0'>▇</span>", "<span color='#ed8796'>█</span>" ], - "on-click": "footclient -o pad=0x0 btop", + "on-click": "foot -T btop -o pad=0x0 btop", }, "temperature": { "interval": 5, |
