Compare commits
No commits in common. "a8a2686914fc18644f66bfdebbde13c9da311de8" and "094af3fd01a969b0bede35369fc284ee92f8f0cf" have entirely different histories.
a8a2686914
...
094af3fd01
20 changed files with 54 additions and 725 deletions
70
flake.lock
generated
70
flake.lock
generated
|
@ -27,11 +27,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"lastModified": 1741352980,
|
||||
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -83,11 +83,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750127463,
|
||||
"narHash": "sha256-K2xFtlD3PcKAZriOE3LaBLYmVfGQu+rIF4Jr1RFYR0Q=",
|
||||
"lastModified": 1742569620,
|
||||
"narHash": "sha256-igC2cu+cPRB3E4QwKR+vGagyAtoyB+DrmWwDKm8jkaw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "28eef8722d1af18ca13e687dbf485e1c653a0402",
|
||||
"rev": "8a68f18e96bcab13e4f97bece61e6602298a3141",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -110,16 +110,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -130,11 +130,11 @@
|
|||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743051673,
|
||||
"narHash": "sha256-f3TLu0xUtxercSEWujoj3t2pivjHK8LiuR3k1xGgC4U=",
|
||||
"lastModified": 1743033002,
|
||||
"narHash": "sha256-84TdCsIgDFDpgE9mXT/k0nxhTc7TgEfdfRia+hj//ow=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "a36941c8aff79d7871a1d4768b8ddc8429ab4673",
|
||||
"revCount": 149,
|
||||
"rev": "2e45f0205ae1d16a9b9b5b8417a262a558dc367f",
|
||||
"revCount": 146,
|
||||
"type": "git",
|
||||
"url": "https://git.elnu.com/tegakituesday/ji-chan.git"
|
||||
},
|
||||
|
@ -209,11 +209,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1750134718,
|
||||
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
|
||||
"lastModified": 1742422364,
|
||||
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
|
||||
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -225,11 +225,11 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1749903597,
|
||||
"narHash": "sha256-jp0D4vzBcRKwNZwfY4BcWHemLGUs4JrS3X9w5k/JYDA=",
|
||||
"lastModified": 1742456341,
|
||||
"narHash": "sha256-yvdnTnROddjHxoQqrakUQWDZSzVchczfsuuMOxg476c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41da1e3ea8e23e094e5e3eeb1e6b830468a7399e",
|
||||
"rev": "7344a3b78128f7b1765dba89060b015fb75431a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -243,15 +243,14 @@
|
|||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_3"
|
||||
"nuschtosSearch": "nuschtosSearch"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750187570,
|
||||
"narHash": "sha256-/SpLFjBt6mZQszhASi5bWxjx0xE7d3r0TfKSABhBgKE=",
|
||||
"lastModified": 1742559284,
|
||||
"narHash": "sha256-PSSjCCqpJPkCagkkdLODBVVonGxgwU5dN2CYlFPNVNw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "b4750c46961be18d6cd61c121fa3f43082a64a3c",
|
||||
"rev": "c980271267ef146a6c30394c611a97e077471cf2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -270,11 +269,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749730855,
|
||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||
"lastModified": 1741886583,
|
||||
"narHash": "sha256-sScfYKtxp3CYv5fJcHQDvQjqBL+tPNQqS9yf9Putd+s=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||
"rev": "2974bc5fa3441a319fba943f3ca41f7dcd1a1467",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -358,21 +357,6 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
@ -14,10 +14,18 @@ in
|
|||
# Don't install dmenu, i3status, and i3lock
|
||||
extraPackages = lib.mkOverride 0 [];
|
||||
};
|
||||
displayManager = {
|
||||
lightdm = {
|
||||
enable = true;
|
||||
greeters.gtk = {
|
||||
enable = true;
|
||||
theme = theme.gtkTheme pkgs;
|
||||
};
|
||||
background = theme.wallpaper;
|
||||
};
|
||||
};
|
||||
};
|
||||
displayManager = {
|
||||
enable = true;
|
||||
sddm.enable = true;
|
||||
defaultSession = "none+i3";
|
||||
};
|
||||
udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
@ -26,18 +34,16 @@ in
|
|||
gvfs.enable = true; # For Trash
|
||||
};
|
||||
programs.hyprland.enable = true;
|
||||
programs.sway.enable = true;
|
||||
|
||||
xdg.portal.enable = true;
|
||||
|
||||
# Needed mesa for whatever reason to get Discord to work on Wayland on my desktop
|
||||
environment.systemPackages = with pkgs; [ yubioath-flutter mesa ];
|
||||
environment.systemPackages = with pkgs; [ yubioath-flutter ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
# GTK Theme won't display with GTK4 (e.g. nautilus) otherwise
|
||||
# Doesn't work in some scenarios, such as open containing folder in Firefox, when declared in home.sessionVariables
|
||||
GTK_THEME = (theme.gtkTheme pkgs).name;
|
||||
# something something required for Electron apps on Wayland
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
# Enable OpenTabletDriver, GUI configurator is otd-gui
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
imports = [ (import ./hardware-configuration.nix) ];
|
||||
|
||||
services.xserver = {
|
||||
videoDrivers = [ "nvidia-dkms" ];
|
||||
videoDrivers = [ "nvidia" ];
|
||||
# nvidiaXineramaInfoOrder sets primary display
|
||||
# DFP-0 is default and would set left monitor, DVI-D-0, to be primary
|
||||
screenSection = ''
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.nvidia.open = true;
|
||||
hardware.graphics.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
|
@ -23,7 +22,7 @@
|
|||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/sda5";
|
||||
device = "/dev/disk/by-label/boot";
|
||||
fsType = "vfat";
|
||||
};
|
||||
# Prevent SCARLETT from auto-mounting
|
||||
|
|
|
@ -4,6 +4,5 @@
|
|||
imports = [
|
||||
(import ./apps.nix)
|
||||
(import ./i3)
|
||||
(import ./hypr)
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home.file = {
|
||||
".config/hypr/monitors.conf".source = ./monitors.conf;
|
||||
};
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=HDMI-A-1, 1920x1080@100.05, 1080x420, 1
|
||||
monitor=DVI-D-1, 1920x1080@60.00, 0x0, 1, transform, 1
|
||||
monitor=DP-1, 1920x1080@60.04Hz, 1080x1500, 1
|
||||
|
||||
workspace = name:1, monitor:HDMI-A-1
|
||||
workspace = name:2, monitor:DVI-D-1
|
||||
workspace = name:3, monitor:DP-1
|
||||
|
||||
# See https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/nvidia.conf
|
||||
|
||||
# █▄░█ █░█ █ █▀▄ █ ▄▀█
|
||||
# █░▀█ ▀▄▀ █ █▄▀ █ █▀█
|
||||
|
||||
# Hyprland Nvidia Configuration
|
||||
# See https://wiki.hyprland.org/Nvidia/
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia # Disable this if you have issues with screensharing
|
||||
|
||||
# If you want to try hardware cursors,
|
||||
# you can enable them by setting `cursor:no_hardware_cursors = false` ,
|
||||
# but it will require also enabling `cursor:allow_dumb_copy`
|
||||
# which may cause small to major hitches whenever the cursor shape changes.
|
||||
# If this is a problem on your system, keep hardware cursors disabled.
|
||||
cursor:no_hardware_cursors = true # Set to true to avoid hitches
|
||||
# cursor:allow_dumb_copy = true
|
||||
|
||||
# https://wiki.hyprland.org/Nvidia/#va-api-hardware-video-acceleration
|
||||
# Hardware video acceleration on Nvidia and Wayland is
|
||||
# possible with the nvidia-vaapi-driver.
|
||||
# This may solve specific issues in Electron apps.
|
||||
env = NVD_BACKEND,direct # Requires 'libva-nvidia-driver' package
|
||||
|
||||
# https://wiki.hyprland.org/Nvidia/#regarding-environment-variables
|
||||
# If you encounter crashes in Firefox, remove this line
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
|
||||
# If you have a multi-GPU setup and you are facing lag in external monitor.
|
||||
# See https://wiki.hyprland.org/Configuring/Multi-GPU/
|
|
@ -10,7 +10,6 @@ in
|
|||
#../modules/emacs
|
||||
../modules/fcitx5
|
||||
../modules/firefox
|
||||
../modules/hypr
|
||||
../modules/i3
|
||||
../modules/neovim
|
||||
../modules/picom
|
||||
|
@ -20,6 +19,7 @@ in
|
|||
../modules/startpage
|
||||
../modules/terminal
|
||||
../modules/todo-txt
|
||||
|
||||
#../modules/fantasia-archive
|
||||
];
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
imports = [
|
||||
(import ./apps.nix)
|
||||
(import ./i3)
|
||||
(import ./hypr)
|
||||
(import ../thinkpads/i3.nix)
|
||||
(import ../thinkpads/polybar.nix)
|
||||
];
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
home.file = {
|
||||
".config/hypr/monitors.conf".source = ./monitors.conf;
|
||||
};
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=eDP-1, 1920x1080@144, 1920x0, 1
|
||||
monitor=HDMI-A-1, 1920x1080@74.97, 0x0, 1
|
||||
monitor=DP-1, 1920x1080@60.04, 0x1080, 1
|
|
@ -5,8 +5,7 @@ with import ../theme; let
|
|||
in
|
||||
{
|
||||
i18n.inputMethod = {
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
enabled = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
(fcitx5-anthy.overrideAttrs (oldAttrs: {
|
||||
# bugged custom Nicola tables fixed in master
|
||||
|
@ -22,14 +21,11 @@ in
|
|||
};
|
||||
|
||||
home.file = {
|
||||
"${themeFolder}theme.conf".source = with colors; pkgs.replaceVarsWith ({
|
||||
"${themeFolder}theme.conf".source = with colors; pkgs.substituteAll ({
|
||||
src = ./theme.conf;
|
||||
replacements = {
|
||||
background = "${bg1}80";
|
||||
highlight = bg0;
|
||||
inherit fg0 fg1;
|
||||
};
|
||||
});
|
||||
} // colors);
|
||||
"${themeFolder}arrow.png".source = ./arrow.png;
|
||||
"${themeFolder}radio.png".source = ./radio.png;
|
||||
".config/fcitx5/conf/classicui.conf".text = "Theme=${theme}";
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# hyprland itself enabled in desktop.nix
|
||||
home.packages = with pkgs; [
|
||||
hyprpaper
|
||||
waybar
|
||||
grimblast # screenshots
|
||||
];
|
||||
home.file = {
|
||||
".config/hypr/hyprland.conf".source = ./hypr/hyprland.conf;
|
||||
".config/hypr/hyprpaper.conf".source = ./hypr/hyprpaper.conf;
|
||||
".config/waybar/config.jsonc".source = ./waybar/config.jsonc;
|
||||
".config/waybar/style.css".source = ./waybar/style.css;
|
||||
};
|
||||
}
|
|
@ -1,235 +0,0 @@
|
|||
|
||||
########################################################################################
|
||||
# AUTOGENERATED HYPR CONFIG.
|
||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
########################################################################################
|
||||
|
||||
#
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
#
|
||||
|
||||
#autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
source = monitors.conf
|
||||
|
||||
# Prevent X apps from being pixelated
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
exec-once = waybar
|
||||
exec-once = hyprpaper
|
||||
exec-once = nm-applet
|
||||
exec-once = systemctl --user enable opentabletdriver.service --now
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
# kb_options = caps:swapescape
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = 6
|
||||
gaps_out = 12
|
||||
border_size = 2
|
||||
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.active_border = rgb(a7c080)
|
||||
col.inactive_border = rgba(a7c08000)
|
||||
|
||||
layout = dwindle
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = rgb(a7c080)
|
||||
col.border_inactive = rgba(a7c08000)
|
||||
|
||||
groupbar {
|
||||
col.active = rgb(a7c080)
|
||||
col.inactive = rgb(2e383c)
|
||||
}
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 10
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
|
||||
shadow {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# 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 = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
workspace = w[tv1], gapsout:0, gapsin:0, border:0, rounding:0
|
||||
workspace = f[1], gapsout:0, gapsin:0
|
||||
windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
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 = off
|
||||
}
|
||||
|
||||
misc {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = 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
|
||||
|
||||
|
||||
# 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, kitty
|
||||
bind = $mainMod SHIFT, Q, killactive,
|
||||
bind = $mainMod SHIFT, E, exit, <D-v>
|
||||
#bind = $mainMod, E, exec, dolphin
|
||||
bind = $mainMod SHIFT, SPACE, togglefloating,
|
||||
bindr = SUPER, SUPER_L, exec, rofi -show drun -theme
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
# Modified from https://github.com/hyprwm/Hyprland/discussions/2617
|
||||
bind = , Print, exec, mkdir -p $HOME"/screenshots/full" && grimblast copysave output $HOME"/screenshots/full/"$(date +'%F-%T.png')
|
||||
bind = $mainMod, Print, exec, mkdir -p $HOME"/screenshots/area" && grimblast copysave area $HOME"/screenshots/area/"$(date +'%F-%T.png')
|
||||
bind = ALT, Print, exec, mkdir -p $HOME"/screenshots/active" && grimblast copysave active $HOME"/screenshots/active/"$(date +'%F-%T.png')
|
||||
|
||||
# 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 + [0-9]
|
||||
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
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
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
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, MINUS, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, MINUS, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Move/windows with keyboard
|
||||
bind = $mainMod SHIFT, LEFT, movewindow, l
|
||||
bind = $mainMod SHIFT, RIGHT, movewindow, r
|
||||
bind = $mainMod SHIFT, UP, movewindow, u
|
||||
bind = $mainMod SHIFT, DOWN, movewindow, d
|
||||
bind = $mainMod SHIFT CTRL, LEFT, movewindoworgroup, l
|
||||
bind = $mainMod SHIFT CTRL, RIGHT, movewindoworgroup, r
|
||||
bind = $mainMod SHIFT CTRL, UP, movewindoworgroup, u
|
||||
bind = $mainMod SHIFT CTRL, DOWN, movewindoworgroup, d
|
||||
|
||||
# Tabbing
|
||||
bind = $mainMod, w, togglegroup
|
||||
bind = $mainMod CTRL, UP, changegroupactive, f
|
||||
bind = $mainMod CTRL, RIGHT, changegroupactive, f
|
||||
bind = $mainMod CTRL, DOWN, changegroupactive, b
|
||||
bind = $mainMod CTRL, LEFT, changegroupactive, b
|
||||
|
||||
bind = $mainMod, F, fullscreen
|
||||
|
||||
windowrulev2 = stayfocused,class:(wofi)
|
||||
windowrulev2 = noborder,class:(wofi)
|
||||
|
||||
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
@ -1,2 +0,0 @@
|
|||
preload = ~/.background-image
|
||||
wallpaper = , ~/.background-image
|
|
@ -1,179 +0,0 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 30,
|
||||
"spacing": 1,
|
||||
"margin": 0,
|
||||
"modules-left": ["hyprland/workspaces", "hyprland/window"],
|
||||
"modules-center": [],
|
||||
"modules-right": ["custom/weather", "disk", "memory", "cpu", "temperature", "battery", "pulseaudio", "clock", "tray"],
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": false,
|
||||
"warp-on-scroll": false,
|
||||
"format": "{name}"
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
},
|
||||
|
||||
"custom/playerctl": {
|
||||
"format": " {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{artist}} - {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click": "playerctl play-pause",
|
||||
"on-click-right": "playerctl next",
|
||||
},
|
||||
|
||||
"custom/weather": {
|
||||
"exec": "curl 'https://wttr.in/?format=1&m'",
|
||||
"interval": 600,
|
||||
"format": "{}",
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/updates": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"interval": 3600,
|
||||
"on-click": "kitty -e sudo pacman -Syu",
|
||||
"signal": 8
|
||||
},
|
||||
|
||||
"custom/uptime": {
|
||||
"format": " {}",
|
||||
"exec": "uptime -p | sed 's/up //; s/ days/d/; s/ hours/h/; s/ minutes/m/'",
|
||||
"interval": 60
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%Y-%m-%d}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode" : "month",
|
||||
"mode-mon-col" : 3,
|
||||
"weeks-pos" : "right",
|
||||
"on-scroll" : 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#d3c6aa'><b>{}</b></span>",
|
||||
"days": "<span color='#e67e80'>{}</span>",
|
||||
"weeks": "<span color='#a7c080'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#7fbbb3'><b>{}</b></span>",
|
||||
"today": "<span color='#dbbc7f'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": "<span color=\"#a7c080\">CPU</span> {usage}%",
|
||||
"tooltip": true,
|
||||
"interval": 1,
|
||||
"on-click": "kitty -e htop"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"format": "<span color=\"#a7c080\">RAM</span> {}%",
|
||||
"interval": 1,
|
||||
"on-click": "kitty -e htop"
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"critical-threshold": 80,
|
||||
"format": "{temperatureC}°C",
|
||||
"format-icons": ["", "", ""],
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": "<span color=\"#a7c080\"></span> {capacity}%",
|
||||
"format-plugged": "<span color=\"#a7c080\"></span> {capacity}%",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"<span color=\"#e67e80\"></span>",
|
||||
"<span color=\"#e67e80\"></span>",
|
||||
"<span color=\"#e69875\"></span>",
|
||||
"<span color=\"#e69875\"></span>",
|
||||
"<span color=\"#dbbc7f\"></span>",
|
||||
"<span color=\"#dbbc7f\"></span>",
|
||||
"<span color=\"#a7c080\"></span>",
|
||||
"<span color=\"#a7c080\"></span>",
|
||||
"<span color=\"#a7c080\"></span>",
|
||||
"<span color=\"#a7c080\"></span>",
|
||||
"<span color=\"#a7c080\"></span>"
|
||||
]
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ifname}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"format-disconnected": " Disconnected",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}",
|
||||
"tooltip-format": "{ifname}: {ipaddr}",
|
||||
"on-click": "kitty -e nmtui"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "<span color=\"#a7c080\">{icon}</span> {volume}%",
|
||||
"format-bluetooth": "<span color=\"#a7c080\"></span> {volume}%",
|
||||
"format-bluetooth-muted": "<span color=\"#a7c080\"></span> {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"on-click-right": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%",
|
||||
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%"
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", ""],
|
||||
"on-scroll-up": "brightnessctl set +5%",
|
||||
"on-scroll-down": "brightnessctl set 5%-"
|
||||
},
|
||||
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
"format": "<span color=\"#a7c080\">{path}</span> {percentage_used}%",
|
||||
"path": "/",
|
||||
"on-click": "kitty -e gdu /"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing": 5
|
||||
}
|
||||
}
|
|
@ -1,167 +0,0 @@
|
|||
/*Colorschemes, there are Gruvbox, Tokyo Night, and Everforest by default. The way it works is whichever colorscheme section is defined last will be used. Here everforest is last, but put any one you want to use as the last one. ssdsssssssss*/
|
||||
|
||||
|
||||
/* Gruvbox Dark Colors */
|
||||
@define-color background #282828;
|
||||
@define-color background-light #3c3836;
|
||||
@define-color foreground #ebdbb2;
|
||||
@define-color black #32302f;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color blue #458588;
|
||||
@define-color magenta #b16286;
|
||||
@define-color cyan #689d6a;
|
||||
@define-color white #ebdbb2;
|
||||
@define-color orange #d65d0e;
|
||||
|
||||
/* Tokyo Night */
|
||||
@define-color background #1a1b26;
|
||||
@define-color background-light #24283b;
|
||||
@define-color foreground #c0caf5;
|
||||
@define-color black #15161e;
|
||||
@define-color red #f7768e;
|
||||
@define-color green #9ece6a;
|
||||
@define-color yellow #e0af68;
|
||||
@define-color blue #7aa2f7;
|
||||
@define-color magenta #bb9af7;
|
||||
@define-color cyan #7dcfff;
|
||||
@define-color white #a9b1d6;
|
||||
@define-color orange #ff9e64;
|
||||
|
||||
|
||||
/* Everforest Dark Colors */
|
||||
@define-color background #2b3339;
|
||||
@define-color background-light #323c41;
|
||||
@define-color foreground #d3c6aa;
|
||||
@define-color black #3c474d;
|
||||
@define-color red #e67e80;
|
||||
@define-color green #a7c080;
|
||||
@define-color yellow #dbbc7f;
|
||||
@define-color blue #7fbbb3;
|
||||
@define-color magenta #d699b6;
|
||||
@define-color cyan #83c092;
|
||||
@define-color white #d3c6aa;
|
||||
@define-color orange #e69875;
|
||||
|
||||
@define-color background #2b3339;
|
||||
@define-color background rgba(43, 51, 57, 0.75);
|
||||
|
||||
/* Pastel TTY Colors */
|
||||
/*
|
||||
@define-color background #212121;
|
||||
@define-color background-light #3a3a3a;
|
||||
@define-color foreground #e0e0e0;
|
||||
@define-color black #5a5a5a;
|
||||
@define-color red #ff9a9e;
|
||||
@define-color green #b5e8a9;
|
||||
@define-color yellow #ffe6a7;
|
||||
@define-color blue #63a4ff;
|
||||
@define-color magenta #dda0dd;
|
||||
@define-color cyan #a3e8e8;
|
||||
@define-color white #ffffff;
|
||||
@define-color orange #ff8952;
|
||||
*/
|
||||
|
||||
|
||||
/* Module-specific colors */
|
||||
@define-color workspaces-color @foreground;
|
||||
@define-color workspaces-focused-bg @green;
|
||||
@define-color workspaces-focused-fg @cyan;
|
||||
@define-color workspaces-urgent-bg @red;
|
||||
@define-color workspaces-urgent-fg @black;
|
||||
|
||||
/* Text and border colors for modules */
|
||||
@define-color mode-color @orange;
|
||||
@define-color mpd-color @magenta;
|
||||
@define-color weather-color @magenta;
|
||||
@define-color playerctl-color @magenta;
|
||||
@define-color clock-color @blue;
|
||||
@define-color cpu-color @green;
|
||||
@define-color memory-color @magenta;
|
||||
@define-color temperature-color @yellow;
|
||||
@define-color temperature-critical-color @red;
|
||||
@define-color battery-color @cyan;
|
||||
@define-color battery-charging-color @green;
|
||||
@define-color battery-warning-color @yellow;
|
||||
@define-color battery-critical-color @red;
|
||||
@define-color network-color @blue;
|
||||
@define-color network-disconnected-color @red;
|
||||
@define-color pulseaudio-color @orange;
|
||||
@define-color pulseaudio-muted-color @red;
|
||||
@define-color backlight-color @yellow;
|
||||
@define-color disk-color @cyan;
|
||||
@define-color uptime-color @green;
|
||||
@define-color updates-color @orange;
|
||||
@define-color quote-color @green;
|
||||
@define-color idle-inhibitor-color @foreground;
|
||||
@define-color idle-inhibitor-active-color @red;
|
||||
|
||||
* {
|
||||
/* Base styling for all modules */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "Fira Code Nerd Font";
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Common module styling with border-bottom */
|
||||
#mode, #mpd, #custom-weather, #custom-playerctl, #clock, #cpu,
|
||||
#memory, #temperature, #battery, #network, #pulseaudio,
|
||||
#backlight, #disk, #custom-uptime, #custom-updates, #custom-quote,
|
||||
#idle_inhibitor, #tray, #workspaces, #window {
|
||||
padding: 0 10px;
|
||||
margin: 4px 2px;
|
||||
background-color: @background;
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
/* Workspaces styling */
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: @workspaces-color;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @background-light;
|
||||
box-shadow: inherit;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
box-shadow: inset 0 -2px @workspaces-focused-fg;
|
||||
color: @workspaces-focused-fg;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: @workspaces-urgent-bg;
|
||||
color: @workspaces-urgent-fg;
|
||||
}
|
||||
|
||||
/* Module-specific styling */
|
||||
|
||||
#tray {
|
||||
background-color: transparent;
|
||||
padding: 0 10px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
color: @red;
|
||||
border-bottom-color: @red;
|
||||
}
|
|
@ -108,7 +108,10 @@ in with theme.colors; {
|
|||
"${mod}+Return" = "exec kitty";
|
||||
"${mod}+Shift+e" = "exec i3-msg exit"; # bypass default session exit confirmation menu
|
||||
"${mod}+space" = "exec i3-msg open"; # Open blank space
|
||||
"Mod1+Q" = "exec ${./power.sh}";
|
||||
"Mod1+Q" = let rofi-power = pkgs.substituteAll {
|
||||
src = ./power.sh;
|
||||
isExecutable = true;
|
||||
}; in "exec ${rofi-power}";
|
||||
"${mod}+a" = "exec com.github.alainm23.task-planner.quick-add";
|
||||
|
||||
# Audio controls
|
||||
|
|
|
@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "93MP1Iw1eklC+IEQXAhzLHJ+qsDASm53qw7vUEtEstI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-z0pLuWcfmFkV3xg+1XKmg/Zwvb3Ce8RpERCh1OjD+so=";
|
||||
cargoHash = "sha256-aBuaXckalcBcfr/snUy+8W9ZITehoeMCsGt/4yb2BxA=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple CLI for fetching Plume Labs air quality info.";
|
||||
|
|
|
@ -8,8 +8,7 @@ in {
|
|||
enable = true;
|
||||
inherit theme;
|
||||
};
|
||||
home.file.".config/rofi/${theme}.rasi".source = pkgs.replaceVarsWith ({
|
||||
home.file.".config/rofi/${theme}.rasi".source = pkgs.substituteAll ({
|
||||
src = ./theme.rasi;
|
||||
replacements = with _theme.colors; { inherit fg0 fg1 bg0 bg1 primary; };
|
||||
});
|
||||
} // _theme.colors);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue