Compare commits
No commits in common. "7a0a62fd88359eea51cbd66284847c24c88953e2" and "02de4d9cb3e25e8cec092f39b4f3acad1ba23f62" have entirely different histories.
7a0a62fd88
...
02de4d9cb3
50 changed files with 3316 additions and 846 deletions
759
flake.lock
generated
759
flake.lock
generated
File diff suppressed because it is too large
Load diff
14
flake.nix
14
flake.nix
|
@ -28,7 +28,19 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
## Theming ##
|
||||
# TODO: theming
|
||||
|
||||
## Hyprland ##
|
||||
|
||||
watershot = {
|
||||
url = "github:Liassica/watershot/165dd431c95054ac1bfea2f9a85e1be924af21c9";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
better-control = {
|
||||
url = "github:rishabh5321/better-control-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
rose-pine-hyprcursor = {
|
||||
url = "github:ndom91/rose-pine-hyprcursor";
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#FIXME: Move attrs that will only work on linux to nixos.nix
|
||||
#FIXME: if pulling in homemanager for isMinimal maybe set up conditional for some packages
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
|
@ -16,7 +18,17 @@ in
|
|||
"modules/global"
|
||||
"modules/home"
|
||||
])
|
||||
(lib.custom.scanPaths ./.)
|
||||
./asdf.nix
|
||||
./bash.nix # TODO: setup a nicer bash config... or zsh
|
||||
./bat.nix
|
||||
./direnv.nix
|
||||
./fastfetch
|
||||
./fish
|
||||
./git.nix
|
||||
./ranger.nix
|
||||
./screen.nix
|
||||
./ssh.nix
|
||||
./zoxide.nix
|
||||
];
|
||||
|
||||
services.ssh-agent.enable = true;
|
||||
|
@ -31,8 +43,9 @@ in
|
|||
sessionVariables = {
|
||||
EDITOR = "micro";
|
||||
FLAKE = "${homeDir}/git/Nix/dot.nix";
|
||||
MANPAGER = "batman";
|
||||
MANPAGER = "batman"; # see ./cli/bat.nix
|
||||
SHELL = shell;
|
||||
TERM = "foot";
|
||||
VISUAL = "micro";
|
||||
};
|
||||
preferXdgDirectories = true; # whether to make programs use XDG directories whenever supported
|
||||
|
@ -54,14 +67,15 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
# Core pkgs with no configs
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
# Packages that don't have custom configs go here
|
||||
btop # resource monitor
|
||||
coreutils # basic gnu utils
|
||||
dust # disk usage
|
||||
eza # ls replacement
|
||||
jq # json parser
|
||||
p7zip # compression & encryption
|
||||
pre-commit # git hooks
|
||||
trashy # trash cli
|
||||
unrar # rar extraction
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
delta # diffing
|
||||
gh # github cli
|
||||
|
||||
logisim-evolution
|
||||
mcaselector
|
||||
prettierd
|
||||
|
||||
# nix
|
||||
nixpkgs-review
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# This module just provides a customized .desktop file with gamescope args dynamically created based on the
|
||||
# host's monitors configuration
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
|
@ -5,51 +7,50 @@
|
|||
...
|
||||
}:
|
||||
|
||||
#INFO: Gamescope is REALLY broken rn, this wont work
|
||||
# let
|
||||
# monitor = lib.head (lib.filter (m: m.primary) config.monitors);
|
||||
# steam-session =
|
||||
# let
|
||||
# gamescope = lib.concatStringsSep " " [
|
||||
# (lib.getExe pkgs.gamescope)
|
||||
# "--rt"
|
||||
# "--output-width ${toString monitor.width}"
|
||||
# "--output-height ${toString monitor.height}"
|
||||
# "--framerate-limit ${toString monitor.refreshRate}"
|
||||
# "--prefer-output ${monitor.name}"
|
||||
# "--adaptive-sync"
|
||||
# "--expose-wayland"
|
||||
# "--backend wayland"
|
||||
# "--force-grab-cursor"
|
||||
# "--steam"
|
||||
# # "--hdr-enabled"
|
||||
# ];
|
||||
# steam = lib.concatStringsSep " " [
|
||||
# "steam"
|
||||
# #"steam://open/bigpicture"
|
||||
# "-forcedesktopscaling ${toString monitor.scale}"
|
||||
# "-nofriendsui"
|
||||
# "-noschatui"
|
||||
# ];
|
||||
# in
|
||||
# pkgs.writeTextDir "share/applications/steam-session.desktop" ''
|
||||
# [Desktop Entry]
|
||||
# Name=Steam Session
|
||||
# Comment=Steam with Gamescope
|
||||
# Exec=${gamescope} -- ${steam}
|
||||
# Icon=steam
|
||||
# Type=Application
|
||||
# Categories=Network;FileTransfer;Game;
|
||||
# MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink;
|
||||
# PrefersNonDefaultGPU = true;
|
||||
# '';
|
||||
# in
|
||||
let
|
||||
monitor = lib.head (lib.filter (m: m.primary) config.monitors);
|
||||
steam-session =
|
||||
let
|
||||
gamescope = lib.concatStringsSep " " [
|
||||
(lib.getExe pkgs.gamescope)
|
||||
"--rt"
|
||||
"--output-width ${toString monitor.width}"
|
||||
"--output-height ${toString monitor.height}"
|
||||
"--framerate-limit ${toString monitor.refreshRate}"
|
||||
"--prefer-output ${monitor.name}"
|
||||
"--adaptive-sync"
|
||||
"--expose-wayland"
|
||||
"--backend wayland"
|
||||
"--force-grab-cursor"
|
||||
"--steam"
|
||||
# "--hdr-enabled"
|
||||
];
|
||||
steam = lib.concatStringsSep " " [
|
||||
"steam"
|
||||
#"steam://open/bigpicture"
|
||||
"-forcedesktopscaling ${toString monitor.scale}"
|
||||
"-nofriendsui"
|
||||
"-noschatui"
|
||||
];
|
||||
in
|
||||
pkgs.writeTextDir "share/applications/steam-session.desktop" ''
|
||||
[Desktop Entry]
|
||||
Name=Steam Session
|
||||
Comment=Steam with Gamescope
|
||||
Exec=${gamescope} -- ${steam}
|
||||
Icon=steam
|
||||
Type=Application
|
||||
Categories=Network;FileTransfer;Game;
|
||||
MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink;
|
||||
PrefersNonDefaultGPU = true;
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
prismlauncher
|
||||
# steam-session
|
||||
steam-session
|
||||
# modrinth-app
|
||||
(lutris.override {
|
||||
extraLibraries = pkgs: [
|
||||
|
@ -61,6 +62,3 @@
|
|||
})
|
||||
];
|
||||
}
|
||||
|
||||
# INFO: Example working command for running gamescope
|
||||
# gamescope --adaptive-sync --backend sdl --expose-wayland --force-grab-cursor --framerate-limit 120 --immediate-flips --output-height 2160 --output-width 3840 --prefer-output DP-3 --rt -- gamemoderun %command%
|
||||
|
|
|
@ -8,6 +8,13 @@
|
|||
}:
|
||||
|
||||
let
|
||||
# citron-emu = pkgs.callPackage (lib.custom.relativeToRoot "pkgs/common/citron-emu/package.nix") {
|
||||
# inherit pkgs;
|
||||
# };
|
||||
# borgtui = pkgs.callPackage (lib.custom.relativeToRoot "pkgs/common/borgtui/package.nix") {
|
||||
# inherit pkgs;
|
||||
# };
|
||||
|
||||
homeDir = hostSpec.home;
|
||||
|
||||
borg-wrapper = pkgs.writeScript "borg-wrapper" ''
|
||||
|
|
575
home/toph/common/optional/gnome/dconf.conf
Normal file
575
home/toph/common/optional/gnome/dconf.conf
Normal file
|
@ -0,0 +1,575 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"desktop/ibus/general" = {
|
||||
preload-engines = [];
|
||||
};
|
||||
|
||||
"io/elementary/code/folder-manager" = {
|
||||
opened-folders = [ "/home/toph/git/Nix/dot.nix" ];
|
||||
};
|
||||
|
||||
"io/elementary/code/saved-state" = {
|
||||
hp1-size = 144;
|
||||
last-opened-path = "/home/toph";
|
||||
vp-size = 125;
|
||||
window-size = mkTuple [ 850 550 ];
|
||||
window-state = "Normal";
|
||||
};
|
||||
|
||||
"io/elementary/code/settings" = {
|
||||
focused-document = "file:///home/toph/git/Nix/dot.nix/home/toph/common/optional/gaming/default.nix";
|
||||
opened-files = [ (mkTuple [ "file:///home/toph/git/Nix/dot.nix/home/toph/rune/default.nix" 258 ]) (mkTuple [ "file:///home/toph/git/Nix/dot.nix/home/toph/common/optional/gaming/default.nix" 1079 ]) ];
|
||||
plugins-enabled = [ "brackets-completion" "detect-indent" "editorconfig" ];
|
||||
};
|
||||
|
||||
"io/elementary/desktop/wingpanel/applications-menu" = {
|
||||
use-category = false;
|
||||
};
|
||||
|
||||
"io/elementary/desktop/wingpanel/bluetooth" = {
|
||||
bluetooth-enabled = true;
|
||||
};
|
||||
|
||||
"io/elementary/desktop/wingpanel/sound" = {
|
||||
last-title-info = [ "io.elementary.music.desktop" "" "" ];
|
||||
preferred-devices = {
|
||||
alsa_card.usb-Sonix_Technology_Co.__Ltd._USB_Live_camera_SN0001-02:analog-input-mic = 1741729685;
|
||||
alsa_card.usb-Kingston_HyperX_Cloud_Alpha_S_000000000001-00:analog-input-mic = 1741729685;
|
||||
alsa_card.pci-0000_03_00.1:hdmi-output-4 = 1741729685;
|
||||
alsa_card.pci-0000_13_00.1:hdmi-output-0 = 1741724405;
|
||||
};
|
||||
};
|
||||
|
||||
"io/elementary/files/file-chooser" = {
|
||||
last-folder-uri = "file:///home/toph/git/Nix/dot.nix";
|
||||
window-size = mkTuple [ 800 450 ];
|
||||
};
|
||||
|
||||
"io/elementary/files/icon-view" = {
|
||||
zoom-level = "large";
|
||||
};
|
||||
|
||||
"io/elementary/files/preferences" = {
|
||||
active-tab-position = 0;
|
||||
default-viewmode = "icon";
|
||||
show-hiddenfiles = true;
|
||||
sidebar-cat-personal-expander = true;
|
||||
sidebar-width = 365;
|
||||
tab-info-list = [ (mkTuple [ (mkUint32 0) "file:///home/toph/git/Nix/dot.nix/home/toph/rune" "" ]) ];
|
||||
window-size = mkTuple [ 1970 1450 ];
|
||||
window-state = "normal";
|
||||
};
|
||||
|
||||
"io/elementary/settings" = {
|
||||
window-height = 817;
|
||||
window-maximized = false;
|
||||
window-width = 1207;
|
||||
};
|
||||
|
||||
"io/elementary/settings/keyboard" = {
|
||||
first-launch = false;
|
||||
};
|
||||
|
||||
"io/elementary/terminal/saved-state" = {
|
||||
focused-tab = 0;
|
||||
tab-zooms = [ "1" ];
|
||||
tabs = [ "/home/toph/git/Nix/dot.nix" ];
|
||||
window-size = mkTuple [ 1844 1281 ];
|
||||
window-state = "Normal";
|
||||
zoom = 1.0;
|
||||
};
|
||||
|
||||
"io/elementary/terminal/settings" = {
|
||||
prefer-dark-style = true;
|
||||
theme = "dark";
|
||||
};
|
||||
|
||||
"net/launchpad/plank/docks/dock1" = {
|
||||
dock-items = [ "gala-multitaskingview.dockitem" "io.elementary.files.dockitem" "org.gnome.Epiphany.dockitem" "io.elementary.mail.dockitem" "io.elementary.tasks.dockitem" "io.elementary.calendar.dockitem" "io.elementary.music.dockitem" "io.elementary.videos.dockitem" "io.elementary.photos.dockitem" "io.elementary.settings.dockitem" ];
|
||||
};
|
||||
|
||||
"org/gnome/Console" = {
|
||||
last-window-maximised = false;
|
||||
last-window-size = mkTuple [ 1463 1048 ];
|
||||
};
|
||||
|
||||
"org/gnome/Extensions" = {
|
||||
window-height = 1144;
|
||||
window-maximized = false;
|
||||
window-width = 1736;
|
||||
};
|
||||
|
||||
"org/gnome/Weather" = {
|
||||
window-height = 420;
|
||||
window-maximized = false;
|
||||
window-width = 992;
|
||||
};
|
||||
|
||||
"org/gnome/baobab/ui" = {
|
||||
is-maximized = false;
|
||||
window-size = mkTuple [ 2023 1374 ];
|
||||
};
|
||||
|
||||
"org/gnome/clocks/state/window" = {
|
||||
maximized = false;
|
||||
panel-id = "world";
|
||||
size = mkTuple [ 870 690 ];
|
||||
};
|
||||
|
||||
"org/gnome/control-center" = {
|
||||
last-panel = "keyboard";
|
||||
window-state = mkTuple [ 1663 1048 false ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders" = {
|
||||
folder-children = [ "Utilities" "YaST" "Pardus" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/Pardus" = {
|
||||
categories = [ "X-Pardus-Apps" ];
|
||||
name = "X-Pardus-Apps.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/Utilities" = {
|
||||
apps = [ "org.freedesktop.GnomeAbrt.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.font-viewer.desktop" "org.gnome.Loupe.desktop" "org.freedesktop.MalcontentControl.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" ];
|
||||
categories = [ "X-GNOME-Utilities" ];
|
||||
name = "X-GNOME-Utilities.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/YaST" = {
|
||||
categories = [ "X-SuSE-YaST" ];
|
||||
name = "suse-yast.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/background" = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "file:////nix/store/2fkxipgns07ik26hswq58kkx1m889ycw-wallpaper.jpg";
|
||||
picture-uri-dark = "file:////nix/store/2fkxipgns07ik26hswq58kkx1m889ycw-wallpaper.jpg";
|
||||
primary-color = "#000000";
|
||||
secondary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/datetime" = {
|
||||
automatic-timezone = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [ (mkTuple [ "xkb" "us" ]) ];
|
||||
xkb-options = [ "compose:menu" "lv3:ralt_switch" "terminate:ctrl_alt_bksp" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources/xkb-options" = {
|
||||
xkb-options = [ "compose:menu" "lv3:ralt_switch" "terminate:ctrl_alt_bksp" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
accent-color = "blue";
|
||||
color-scheme = "prefer-dark";
|
||||
cursor-theme = "Numix-Cursor";
|
||||
gtk-theme = "Gruvbox-Dark";
|
||||
icon-theme = "Papirus-Dark";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications" = {
|
||||
application-children = [ "org-gnome-console" "zen-twilight" "gnome-power-panel" "org-gnome-nautilus" "org-gnome-baobab" "spotify" "vesktop" "org-wezfurlong-wezterm" "org-remmina-remmina" "idea-ultimate" "org-telegram-desktop" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/gnome-power-panel" = {
|
||||
application-id = "gnome-power-panel.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/idea-ultimate" = {
|
||||
application-id = "idea-ultimate.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-gnome-baobab" = {
|
||||
application-id = "org.gnome.baobab.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-gnome-console" = {
|
||||
application-id = "org.gnome.Console.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-gnome-nautilus" = {
|
||||
application-id = "org.gnome.Nautilus.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-remmina-remmina" = {
|
||||
application-id = "org.remmina.Remmina.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-telegram-desktop" = {
|
||||
application-id = "org.telegram.desktop.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-wezfurlong-wezterm" = {
|
||||
application-id = "org.wezfurlong.wezterm.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/spotify" = {
|
||||
application-id = "spotify.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/vesktop" = {
|
||||
application-id = "vesktop.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/zen-twilight" = {
|
||||
application-id = "zen.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/mouse" = {
|
||||
accel-profile = "flat";
|
||||
natural-scroll = false;
|
||||
speed = 0.0;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
edge-scrolling-enabled = false;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "file:////nix/store/2fkxipgns07ik26hswq58kkx1m889ycw-wallpaper.jpg";
|
||||
primary-color = "#241f31";
|
||||
secondary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/search-providers" = {
|
||||
disabled = [ "org.gnome.seahorse.Application.desktop" "org.gnome.Epiphany.desktop" "org.gnome.Contacts.desktop" "org.gnome.Calendar.desktop" "org.gnome.Characters.desktop" "org.gnome.clocks.desktop" "org.gnome.Calculator.desktop" ];
|
||||
enabled = [ "org.gnome.Weather.desktop" ];
|
||||
sort-order = [ "org.gnome.Settings.desktop" "org.gnome.Contacts.desktop" "org.gnome.Nautilus.desktop" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/session" = {
|
||||
idle-delay = mkUint32 480;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/sound" = {
|
||||
event-sounds = true;
|
||||
theme-name = "__custom";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = [ "<Super>q" ];
|
||||
maximize = [""];
|
||||
move-to-monitor-left = [""];
|
||||
move-to-monitor-right = [""];
|
||||
move-to-workspace-right = [""];
|
||||
shift-overview-down = [ "" ];
|
||||
shift-overview-up = [ "" ];
|
||||
switch-to-workspace-down = [ "" ];
|
||||
switch-to-workspace-right = [];
|
||||
switch-to-workspace-up = [ "" ];
|
||||
toggle-application-view = [ "" ];
|
||||
toggle-message-tray = [ "<Super>a" ];
|
||||
unmaximize = [ "" ];
|
||||
};
|
||||
|
||||
"org/gnome/evolution-data-server" = {
|
||||
migrated = true;
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = false;
|
||||
};
|
||||
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
toggle-tiled-left = [ "" ];
|
||||
toggle-tiled-right = [ "" ];
|
||||
};
|
||||
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
migrated-gtk-settings = true;
|
||||
search-filter-time-type = "last_modified";
|
||||
};
|
||||
|
||||
"org/gnome/nautilus/window-state" = {
|
||||
initial-size = mkTuple [ 2120 1584 ];
|
||||
initial-size-file-chooser = mkTuple [ 890 550 ];
|
||||
maximized = false;
|
||||
};
|
||||
|
||||
"org/gnome/portal/filechooser/org/gnome/Settings" = {
|
||||
last-folder-path = "/home/toph/Pictures";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/color" = {
|
||||
night-light-enabled = true;
|
||||
night-light-schedule-automatic = true;
|
||||
night-light-schedule-from = 18.0;
|
||||
night-light-schedule-to = 7.0;
|
||||
night-light-temperature = mkUint32 3700;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" ];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = "wezterm";
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>f";
|
||||
command = "nautilus";
|
||||
name = "Files";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
power-button-action = "hibernate";
|
||||
sleep-inactive-ac-timeout = 1200;
|
||||
sleep-inactive-ac-type = "suspend";
|
||||
};
|
||||
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" "blur-my-shell@aunetx" "clipboard-indicator@tudmotu.com" "color-picker@tuberry" "dash-to-panel@jderose9.github.com" "hibernate@dafne.rocks" "monitor-brightness-volume@ailin.nemui" "native-window-placement@gnome-shell-extensions.gcampax.github.com" "screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com" "tilingshell@ferrarodomenico.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "Vitals@CoreCoding.com" ];
|
||||
favorite-apps = [ "org.gnome.Nautilus.desktop" "org.wezfurlong.wezterm.desktop" "win11.desktop" "zen.desktop" "spotify.desktop" "vesktop.desktop" "org.telegram.desktop.desktop" "code.desktop" "fleet-jet.desktop" "steam.desktop" "Marvel Rivals.desktop" "org.prismlauncher.PrismLauncher.desktop" ];
|
||||
last-selected-power-profile = "performance";
|
||||
welcome-dialog-last-shown-version = "47.4";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell" = {
|
||||
settings-version = 2;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/appfolder" = {
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/dash-to-dock" = {
|
||||
blur = true;
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
static-blur = true;
|
||||
style-dash-to-dock = 0;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
||||
brightness = 0.6;
|
||||
sigma = 50;
|
||||
static-blur = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/window-list" = {
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/clipboard-indicator" = {
|
||||
cache-only-favorites = false;
|
||||
cache-size = 120;
|
||||
display-mode = 0;
|
||||
enable-keybindings = true;
|
||||
history-size = 40;
|
||||
notify-on-copy = false;
|
||||
pinned-on-bottom = true;
|
||||
strip-text = false;
|
||||
toggle-menu = [ "<Super>v" ];
|
||||
topbar-preview-size = 10;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/color-picker" = {
|
||||
color-history = [ (mkUint32 3158064) 1447446 14538709 14637907 1447446 3355443 16777215 1644825 ];
|
||||
color-picker-shortcut = [ "<Super>c" ];
|
||||
enable-notify = true;
|
||||
enable-shortcut = true;
|
||||
enable-systray = true;
|
||||
menu-size = mkUint32 8;
|
||||
notify-style = mkUint32 0;
|
||||
persistent-mode = false;
|
||||
preview-style = mkUint32 0;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/dash-to-panel" = {
|
||||
appicon-margin = 6;
|
||||
appicon-padding = 8;
|
||||
available-monitors = [ 0 1 ];
|
||||
dot-position = "TOP";
|
||||
dot-style-focused = "DASHES";
|
||||
dot-style-unfocused = "DASHES";
|
||||
multi-monitors = false;
|
||||
panel-positions = ''
|
||||
{"0":"TOP","1":"TOP"}\n
|
||||
'';
|
||||
primary-monitor = 0;
|
||||
scroll-icon-action = "CYCLE_WINDOWS";
|
||||
scroll-panel-action = "SWITCH_WORKSPACE";
|
||||
trans-panel-opacity = "0.40";
|
||||
trans-use-custom-opacity = true;
|
||||
tray-padding = 8;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/hibernate-status-button" = {
|
||||
show-hibernate-dialog = true;
|
||||
show-hybrid-sleep = true;
|
||||
show-hybrid-sleep-dialog = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/tilingshell" = {
|
||||
enable-autotiling = false;
|
||||
enable-smart-window-border-radius = false;
|
||||
enable-window-border = true;
|
||||
inner-gaps = mkUint32 8;
|
||||
last-version-name-installed = "16.2";
|
||||
layouts-json = "[{\"id\":\"Layout 1\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":0.22,\"height\":0.5,\"groups\":[2,1]},{\"x\":0,\"y\":0.5,\"width\":0.22,\"height\":0.5,\"groups\":[1,2]},{\"x\":0.22,\"y\":0,\"width\":0.2794791666666666,\"height\":0.5,\"groups\":[7,5,2]},{\"x\":0.753125,\"y\":0,\"width\":0.24687499999999998,\"height\":0.5,\"groups\":[4,3]},{\"x\":0.753125,\"y\":0.5,\"width\":0.24687499999999998,\"height\":0.5,\"groups\":[4,3]},{\"x\":0.22,\"y\":0.5,\"width\":0.2797395833333334,\"height\":0.5,\"groups\":[5,6,2]},{\"x\":0.49973958333333335,\"y\":0.5,\"width\":0.2533854166666667,\"height\":0.5,\"groups\":[5,3,6]},{\"x\":0.49947916666666664,\"y\":0,\"width\":0.25364583333333346,\"height\":0.5,\"groups\":[3,5,7]}]},{\"id\":\"Layout 2\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":0.22,\"height\":1,\"groups\":[1]},{\"x\":0.22,\"y\":0,\"width\":0.56,\"height\":1,\"groups\":[1,2]},{\"x\":0.78,\"y\":0,\"width\":0.22,\"height\":1,\"groups\":[2]}]},{\"id\":\"985825\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":1,\"height\":0.5,\"groups\":[1]},{\"x\":0,\"y\":0.5,\"width\":1,\"height\":0.5,\"groups\":[1]}]}]";
|
||||
move-window-center = [ "<Super>Return" ];
|
||||
outer-gaps = mkUint32 4;
|
||||
overridden-settings = "{\"org.gnome.mutter.keybindings\":{\"toggle-tiled-right\":\"['<Super>Right']\",\"toggle-tiled-left\":\"['<Super>Left']\"},\"org.gnome.desktop.wm.keybindings\":{\"maximize\":\"['<Super>Up']\",\"unmaximize\":\"['<Super>Down', '<Alt>F5']\"},\"org.gnome.mutter\":{\"edge-tiling\":\"false\"}}";
|
||||
restore-window-original-size = false;
|
||||
selected-layouts = [ [ "Layout 1" "985825" ] [ "Layout 1" "985825" ] ];
|
||||
span-multiple-tiles-activation-key = [ "1" ];
|
||||
span-window-all-tiles = [ "<Control><Super>Page_Up" ];
|
||||
span-window-down = [ "<Alt><Super>Down" ];
|
||||
span-window-left = [ "<Alt><Super>Left" ];
|
||||
span-window-right = [ "<Alt><Super>Right" ];
|
||||
span-window-up = [ "<Alt><Super>Up" ];
|
||||
tiling-system-activation-key = [ "2" ];
|
||||
untile-window = [ "<Control><Super>Page_Down" ];
|
||||
window-border-color = "rgb(53,132,228)";
|
||||
window-border-width = mkUint32 1;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/user-theme" = {
|
||||
name = "Gruvbox-Dark";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/vitals" = {
|
||||
alphabetize = true;
|
||||
hide-icons = false;
|
||||
hide-zeros = false;
|
||||
hot-sensors = [ "_memory_usage_" "_storage_free_" "_network_public_ip_" "_processor_usage_" "__temperature_avg__" "_system_uptime_" ];
|
||||
icon-style = 0;
|
||||
include-static-gpu-info = false;
|
||||
menu-centered = false;
|
||||
position-in-panel = 4;
|
||||
show-gpu = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
shift-overview-down = [];
|
||||
shift-overview-up = [];
|
||||
};
|
||||
|
||||
"org/gnome/shell/weather" = {
|
||||
automatic-location = true;
|
||||
locations = [];
|
||||
};
|
||||
|
||||
"org/gnome/shell/world-clocks" = {
|
||||
locations = [];
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = {
|
||||
show-extensions-notice = false;
|
||||
};
|
||||
|
||||
"org/gtk/gtk4/settings/color-chooser" = {
|
||||
custom-colors = [ (mkTuple [ 0.2078431397676468 0.5176469683647156 0.8941176533699036 1.0 ]) (mkTuple [ 0.9254902005195618 0.3686274588108063 0.3686274588108063 1.0 ]) ];
|
||||
selected-color = mkTuple [ true 0.2078431397676468 0.5176469683647156 0.8941176533699036 1.0 ];
|
||||
};
|
||||
|
||||
"org/gtk/gtk4/settings/file-chooser" = {
|
||||
show-hidden = true;
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
date-format = "regular";
|
||||
location-mode = "path-bar";
|
||||
show-hidden = true;
|
||||
show-size-column = true;
|
||||
show-type-column = true;
|
||||
sidebar-width = 165;
|
||||
sort-column = "name";
|
||||
sort-directories-first = true;
|
||||
sort-order = "ascending";
|
||||
type-format = "category";
|
||||
window-position = mkTuple [ 102 102 ];
|
||||
window-size = mkTuple [ 1231 902 ];
|
||||
};
|
||||
|
||||
"org/onboard" = {
|
||||
schema-version = "2.3";
|
||||
system-theme-associations = {
|
||||
HighContrast = "HighContrast";
|
||||
HighContrastInverse = "HighContrastInverse";
|
||||
LowContrast = "LowContrast";
|
||||
ContrastHighInverse = "HighContrastInverse";
|
||||
Default = "";
|
||||
};
|
||||
use-system-defaults = false;
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager" = {
|
||||
manager-window-height = 960;
|
||||
manager-window-width = 1557;
|
||||
xmleditor-enabled = true;
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/confirm" = {
|
||||
delete-storage = true;
|
||||
forcepoweroff = true;
|
||||
removedev = false;
|
||||
unapplied-dev = true;
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///session" "qemu:///system" ];
|
||||
uris = [ "qemu:///session" "qemu:///system" ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/conns/qemu:session" = {
|
||||
window-size = mkTuple [ 800 600 ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/conns/qemu:system" = {
|
||||
window-size = mkTuple [ 800 600 ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/details" = {
|
||||
show-toolbar = true;
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/new-vm" = {
|
||||
graphics-type = "system";
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/vmlist-fields" = {
|
||||
disk-usage = true;
|
||||
network-traffic = true;
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/vms/338a0af844bb4ac49039e20b1763e86b" = {
|
||||
autoconnect = 1;
|
||||
vm-window-size = mkTuple [ 1280 872 ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/vms/9148c8b7c3584392a70d923a0d8ae8ad" = {
|
||||
autoconnect = 1;
|
||||
vm-window-size = mkTuple [ 1280 844 ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/vms/af177cf0fd0a4cc9817e574402e106f5" = {
|
||||
autoconnect = 1;
|
||||
vm-window-size = mkTuple [ 2021 1178 ];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -1,492 +0,0 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/TextEditor" = {
|
||||
style-scheme = "stylix";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders" = {
|
||||
folder-children = [
|
||||
"System"
|
||||
"Utilities"
|
||||
"Useless Launchers"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/System" = {
|
||||
apps = [
|
||||
"org.gnome.baobab.desktop"
|
||||
"org.gnome.DiskUtility.desktop"
|
||||
"org.gnome.Logs.desktop"
|
||||
"org.gnome.SystemMonitor.desktop"
|
||||
"org.gnome.tweaks.desktop"
|
||||
];
|
||||
name = "X-GNOME-Shell-System.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/Utilities" = {
|
||||
apps = [
|
||||
"org.gnome.Connections.desktop"
|
||||
"org.gnome.FileRoller.desktop"
|
||||
"org.gnome.font-viewer.desktop"
|
||||
"org.gnome.Loupe.desktop"
|
||||
"org.gnome.seahorse.Application.desktop"
|
||||
];
|
||||
name = "X-GNOME-Shell-Utilities.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/Useless" = {
|
||||
apps = [
|
||||
"fish.desktop"
|
||||
"ranger.desktop"
|
||||
];
|
||||
name = "Useless Launchers";
|
||||
translate = false;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [
|
||||
(mkTuple [
|
||||
"xkb"
|
||||
"us"
|
||||
])
|
||||
];
|
||||
xkb-options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"lv3:ralt_switch"
|
||||
"compose:menu"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
maximize = [ ];
|
||||
move-to-monitor-down = [ ];
|
||||
move-to-monitor-left = [ ];
|
||||
move-to-monitor-right = [ ];
|
||||
move-to-monitor-up = [ ];
|
||||
move-to-workspace-down = [ "<Control><Shift><Alt>Down" ];
|
||||
move-to-workspace-left = [ ];
|
||||
move-to-workspace-right = [ ];
|
||||
move-to-workspace-up = [ "<Control><Shift><Alt>Up" ];
|
||||
shift-overview-down = [ "" ];
|
||||
shift-overview-up = [ "" ];
|
||||
switch-applications = [ ];
|
||||
switch-applications-backward = [
|
||||
"<Shift><Super>Tab"
|
||||
"<Shift><Alt>Tab"
|
||||
];
|
||||
switch-group = [
|
||||
"<Super>Above_Tab"
|
||||
"<Alt>Above_Tab"
|
||||
];
|
||||
switch-group-backward = [
|
||||
"<Shift><Super>Above_Tab"
|
||||
"<Shift><Alt>Above_Tab"
|
||||
];
|
||||
switch-panels = [ "<Control><Alt>Tab" ];
|
||||
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ];
|
||||
switch-to-workspace-1 = [ ];
|
||||
switch-to-workspace-down = [ "" ];
|
||||
switch-to-workspace-last = [ ];
|
||||
switch-to-workspace-left = [ ];
|
||||
switch-to-workspace-right = [ ];
|
||||
switch-to-workspace-up = [ "" ];
|
||||
toggle-application-view = [ "" ];
|
||||
toggle-message-tray = [ "" ];
|
||||
unmaximize = [ ];
|
||||
};
|
||||
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
migrated-gtk-settings = true;
|
||||
search-filter-time-type = "last_modified";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/color" = {
|
||||
night-light-enabled = true;
|
||||
night-light-schedule-automatic = false;
|
||||
night-light-schedule-from = 19.0;
|
||||
night-light-temperature = mkUint32 3892;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
www = [ "<Super>w" ];
|
||||
custom-keybindings = [
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = "ghostty";
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>f";
|
||||
command = "nautilus";
|
||||
name = "Files";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
||||
binding = "<Super>e";
|
||||
command = "code";
|
||||
name = "Code";
|
||||
};
|
||||
|
||||
"org/gnome/shell" = {
|
||||
enabled-extensions = [
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"dash-in-panel@fthx"
|
||||
"AlphabeticalAppGrid@stuarthayhurst"
|
||||
"color-picker@tuberry"
|
||||
"monitor-brightness-volume@ailin.nemui"
|
||||
"quicksettings-audio-devices-renamer@marcinjahn.com"
|
||||
"Vitals@CoreCoding.com"
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"paperwm@paperwm.github.com"
|
||||
"just-perfection-desktop@just-perfection"
|
||||
"pano@elhan.io"
|
||||
"blur-my-shell@aunetx"
|
||||
"quicksettings-audio-devices-hider@marcinjahn.com"
|
||||
"undecorate@sun.wxg@gmail.com"
|
||||
];
|
||||
favorite-apps = [
|
||||
"com.mitchellh.ghostty.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"win11.desktop"
|
||||
"zen.desktop"
|
||||
"code.desktop"
|
||||
"spotify.desktop"
|
||||
"vesktop.desktop"
|
||||
"org.telegram.desktop.desktop"
|
||||
"appeditor-local-application-1.desktop"
|
||||
"Ryujinx.desktop"
|
||||
"Marvel Rivals.desktop"
|
||||
];
|
||||
last-selected-power-profile = "performance";
|
||||
welcome-dialog-last-shown-version = "48.1";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/alphabetical-app-grid" = {
|
||||
folder-order-position = "start";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/appindicator" = {
|
||||
icon-brightness = 0.0;
|
||||
icon-contrast = 0.0;
|
||||
icon-opacity = 240;
|
||||
icon-saturation = 0.0;
|
||||
icon-size = 0;
|
||||
legacy-tray-enabled = true;
|
||||
tray-pos = "right";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell" = {
|
||||
hacks-level = 1;
|
||||
settings-version = 2;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/appfolder" = {
|
||||
brightness = 1.0;
|
||||
sigma = 85;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/applications" = {
|
||||
blur = true;
|
||||
dynamic-opacity = false;
|
||||
enable-all = true;
|
||||
opacity = 230;
|
||||
sigma = 85;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/coverflow-alt-tab" = {
|
||||
pipeline = "pipeline_default";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/dash-to-dock" = {
|
||||
blur = false;
|
||||
brightness = 1.0;
|
||||
override-background = true;
|
||||
pipeline = "pipeline_default_rounded";
|
||||
sigma = 85;
|
||||
static-blur = false;
|
||||
style-dash-to-dock = 0;
|
||||
unblur-in-overview = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/dash-to-panel" = {
|
||||
blur-original-panel = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/hidetopbar" = {
|
||||
compatibility = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/lockscreen" = {
|
||||
pipeline = "pipeline_default";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/overview" = {
|
||||
pipeline = "pipeline_default";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
||||
brightness = 1.0;
|
||||
override-background = true;
|
||||
pipeline = "pipeline_default";
|
||||
sigma = 85;
|
||||
static-blur = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/screenshot" = {
|
||||
pipeline = "pipeline_default";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/dash-in-panel" = {
|
||||
button-margin = 6;
|
||||
center-dash = true;
|
||||
colored-dot = true;
|
||||
icon-size = 32;
|
||||
move-date = true;
|
||||
panel-height = 46;
|
||||
show-apps = false;
|
||||
show-dash = false;
|
||||
show-label = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/just-perfection" = {
|
||||
accessibility-menu = true;
|
||||
activities-button = false;
|
||||
clock-menu = true;
|
||||
clock-menu-position = 1;
|
||||
dash = true;
|
||||
dash-app-running = true;
|
||||
dash-separator = false;
|
||||
keyboard-layout = true;
|
||||
max-displayed-search-results = 0;
|
||||
panel-in-overview = true;
|
||||
quick-settings = true;
|
||||
quick-settings-dark-mode = true;
|
||||
ripple-box = true;
|
||||
show-apps-button = false;
|
||||
support-notifier-showed-version = 34;
|
||||
support-notifier-type = 0;
|
||||
top-panel-position = 0;
|
||||
window-preview-close-button = true;
|
||||
workspace = false;
|
||||
workspace-switcher-size = 0;
|
||||
workspaces-in-app-grid = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/pano" = {
|
||||
history-length = 100;
|
||||
is-in-incognito = false;
|
||||
window-position = mkUint32 2;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm" = {
|
||||
cycle-height-steps = [
|
||||
0.25
|
||||
0.3
|
||||
0.5
|
||||
0.7
|
||||
0.95
|
||||
];
|
||||
cycle-width-steps = [
|
||||
0.25
|
||||
0.3
|
||||
0.5
|
||||
0.7
|
||||
0.95
|
||||
];
|
||||
default-focus-mode = 1;
|
||||
disable-topbar-styling = true;
|
||||
edge-preview-enable = true;
|
||||
edge-preview-timeout-enable = false;
|
||||
gesture-enabled = false;
|
||||
gesture-horizontal-fingers = 0;
|
||||
horizontal-margin = 8;
|
||||
last-used-display-server = "Wayland";
|
||||
restore-attach-modal-dialogs = "true";
|
||||
restore-edge-tiling = "true";
|
||||
restore-workspaces-only-on-primary = "true";
|
||||
selection-border-size = 4;
|
||||
show-focus-mode-icon = false;
|
||||
show-open-position-icon = false;
|
||||
show-window-position-bar = false;
|
||||
show-workspace-indicator = false;
|
||||
vertical-margin = 8;
|
||||
vertical-margin-bottom = 8;
|
||||
window-gap = 8;
|
||||
winprops = [ ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/keybindings" = {
|
||||
center = [ "<Super>c" ];
|
||||
center-horizontally = [ "" ];
|
||||
center-vertically = [ "" ];
|
||||
close-window = [ "<Super>q" ];
|
||||
cycle-height = [ "<Alt><Super>Up" ];
|
||||
cycle-height-backwards = [ "<Alt><Super>Down" ];
|
||||
cycle-width = [ "<Alt><Super>Right" ];
|
||||
cycle-width-backwards = [ "<Alt><Super>Left" ];
|
||||
live-alt-tab = [ "<Alt>Tab" ];
|
||||
live-alt-tab-backward = [ "" ];
|
||||
live-alt-tab-scratch = [ "" ];
|
||||
live-alt-tab-scratch-backward = [ "" ];
|
||||
move-down = [ "<Shift><Super>Down" ];
|
||||
move-down-workspace = [ "" ];
|
||||
move-left = [ "<Shift><Super>Left" ];
|
||||
move-monitor-above = [ "" ];
|
||||
move-monitor-below = [ "" ];
|
||||
move-monitor-left = [ "<Shift><Alt><Super>Left" ];
|
||||
move-monitor-right = [ "<Shift><Alt><Super>Right" ];
|
||||
move-previous-workspace = [ "" ];
|
||||
move-previous-workspace-backward = [ "" ];
|
||||
move-right = [ "<Shift><Super>Right" ];
|
||||
move-space-monitor-above = [ "" ];
|
||||
move-space-monitor-below = [ "" ];
|
||||
move-space-monitor-left = [ "" ];
|
||||
move-space-monitor-right = [ "" ];
|
||||
move-up = [ "<Shift><Super>Up" ];
|
||||
move-up-workspace = [ "" ];
|
||||
new-window = [ "<Super>n" ];
|
||||
previous-workspace = [ "" ];
|
||||
previous-workspace-backward = [ "" ];
|
||||
swap-monitor-above = [ "" ];
|
||||
swap-monitor-below = [ "" ];
|
||||
swap-monitor-left = [ "" ];
|
||||
swap-monitor-right = [ "" ];
|
||||
switch-down-workspace = [ "" ];
|
||||
switch-focus-mode = [ "<Alt><Super>a" ];
|
||||
switch-monitor-above = [ "" ];
|
||||
switch-monitor-below = [ "" ];
|
||||
switch-monitor-left = [ "" ];
|
||||
switch-monitor-right = [ "" ];
|
||||
switch-next = [ "" ];
|
||||
switch-open-window-position = [ "" ];
|
||||
switch-previous = [ "" ];
|
||||
switch-up-workspace = [ "" ];
|
||||
take-window = [ "" ];
|
||||
toggle-maximize-width = [ "" ];
|
||||
toggle-scratch = [ "<Super>BackSpace" ];
|
||||
toggle-scratch-layer = [ "<Control><Super>BackSpace" ];
|
||||
toggle-scratch-window = [ "" ];
|
||||
toggle-top-and-position-bar = [ "" ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces" = {
|
||||
list = [
|
||||
"d3fe7ebc-4b28-4738-98b8-d4cd3e31cf7f"
|
||||
"5291a627-8b95-48f4-bfd4-1f9e56b5234b"
|
||||
"77949e36-39cc-4831-ad12-48054589a02a"
|
||||
"407eab83-d3cd-4974-8d32-8fe0de05579c"
|
||||
"0617efdf-c223-434c-9fd2-8bf9bedf9700"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces/0617efdf-c223-434c-9fd2-8bf9bedf9700" = {
|
||||
index = 4;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces/407eab83-d3cd-4974-8d32-8fe0de05579c" = {
|
||||
index = 3;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces/5291a627-8b95-48f4-bfd4-1f9e56b5234b" = {
|
||||
index = 1;
|
||||
show-top-bar = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces/77949e36-39cc-4831-ad12-48054589a02a" = {
|
||||
index = 2;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/workspaces/d3fe7ebc-4b28-4738-98b8-d4cd3e31cf7f" = {
|
||||
index = 0;
|
||||
show-top-bar = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/quicksettings-audio-devices-hider" = {
|
||||
available-input-names = [
|
||||
"Microphone \8211 USB Live camera"
|
||||
"Digital Input (S/PDIF) \8211 USB Live camera"
|
||||
"Microphone \8211 HyperX Cloud Alpha S"
|
||||
];
|
||||
available-output-names = [
|
||||
"HDMI / DisplayPort 3 \8211 HD-Audio Generic"
|
||||
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
|
||||
"Analog Output \8211 HyperX Cloud Alpha S"
|
||||
"Digital Output (S/PDIF) \8211 HyperX Cloud Alpha S"
|
||||
];
|
||||
excluded-input-names = [
|
||||
"Digital Input (S/PDIF) \8211 USB Live camera"
|
||||
"Microphone \8211 USB Live camera"
|
||||
];
|
||||
excluded-output-names = [
|
||||
"HDMI / DisplayPort \8211 Rembrandt Radeon High Definition Audio Controller"
|
||||
"Analog Output \8211 HyperX Cloud Alpha S"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/quicksettings-audio-devices-renamer" = {
|
||||
input-names-map = ''{'Microphone – USB Live camera': 'NO', 'Digital Input (S/PDIF) – USB Live camera': 'NO', 'Microphone – HyperX Cloud Alpha S': 'Cloud S'}'';
|
||||
output-names-map = ''{'HDMI / DisplayPort 3 – HD-Audio Generic': 'Navi', 'HDMI / DisplayPort – Rembrandt Radeon High Definition Audio Controller': 'NO', 'Analog Output – HyperX Cloud Alpha S': 'NO', 'Digital Output (S/PDIF) – HyperX Cloud Alpha S': 'Cloud S', 'Dummy Output': 'Dummy Output'}'';
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/user-theme" = {
|
||||
name = "Stylix";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/vitals" = {
|
||||
alphabetize = true;
|
||||
fixed-widths = true;
|
||||
hide-icons = false;
|
||||
hide-zeros = true;
|
||||
icon-style = 1;
|
||||
include-static-gpu-info = true;
|
||||
include-static-info = true;
|
||||
menu-centered = false;
|
||||
position-in-panel = 0;
|
||||
show-fan = false;
|
||||
show-gpu = true;
|
||||
show-memory = true;
|
||||
show-network = true;
|
||||
show-processor = true;
|
||||
show-storage = true;
|
||||
show-system = true;
|
||||
show-temperature = true;
|
||||
show-voltage = false;
|
||||
use-higher-precision = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
focus-active-notification = [ ];
|
||||
shift-overview-down = [ ];
|
||||
shift-overview-up = [ ];
|
||||
toggle-application-view = [ "Home" ];
|
||||
toggle-message-tray = [
|
||||
"<Super>v"
|
||||
"<Super>m"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/shell/world-clocks" = {
|
||||
locations = [ ];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///system" ];
|
||||
uris = [ "qemu:///system" ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,411 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
home.packages = with pkgs; [
|
||||
gruvbox-gtk-theme
|
||||
papirus-icon-theme
|
||||
numix-cursor-theme
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
|
||||
theme = {
|
||||
name = "Gruvbox-Dark";
|
||||
package = pkgs.gruvbox-gtk-theme;
|
||||
};
|
||||
|
||||
cursorTheme = {
|
||||
name = "Numix-Cursor";
|
||||
package = pkgs.numix-cursor-theme;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Created with 'dconf dump / | dconf2nix > dconf.nix'
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = with lib.hm.gvariant; {
|
||||
|
||||
"org/gnome/desktop/background" = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "file:///" + ./wallpaper.jpg;
|
||||
picture-uri-dark = "file:///" + ./wallpaper.jpg;
|
||||
primary-color = "#000000";
|
||||
secondary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "file:///" + ./wallpaper.jpg;
|
||||
primary-color = "#241f31";
|
||||
secondary-color = "#000000";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
accent-color = "blue";
|
||||
color-scheme = "prefer-dark";
|
||||
cursor-theme = "Numix-Cursor";
|
||||
gtk-theme = "Gruvbox-Dark";
|
||||
icon-theme = "Papirus-Dark";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/datetime" = {
|
||||
automatic-timezone = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [
|
||||
(mkTuple [
|
||||
"xkb"
|
||||
"us"
|
||||
])
|
||||
];
|
||||
xkb-options = [
|
||||
"compose:menu"
|
||||
"lv3:ralt_switch"
|
||||
"terminate:ctrl_alt_bksp"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources/xkb-options" = {
|
||||
xkb-options = [
|
||||
"compose:menu"
|
||||
"lv3:ralt_switch"
|
||||
"terminate:ctrl_alt_bksp"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/mouse" = {
|
||||
accel-profile = "flat";
|
||||
natural-scroll = false;
|
||||
speed = 0.0;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/search-providers" = {
|
||||
disabled = [
|
||||
"org.gnome.seahorse.Application.desktop"
|
||||
"org.gnome.Epiphany.desktop"
|
||||
"org.gnome.Contacts.desktop"
|
||||
"org.gnome.Calendar.desktop"
|
||||
"org.gnome.Characters.desktop"
|
||||
"org.gnome.clocks.desktop"
|
||||
"org.gnome.Calculator.desktop"
|
||||
];
|
||||
enabled = [ "org.gnome.Weather.desktop" ];
|
||||
sort-order = [
|
||||
"org.gnome.Settings.desktop"
|
||||
"org.gnome.Contacts.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/session" = {
|
||||
idle-delay = mkUint32 480;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = [ "<Super>q" ];
|
||||
maximize = [ "" ];
|
||||
move-to-monitor-left = [ "" ];
|
||||
move-to-monitor-right = [ "" ];
|
||||
move-to-workspace-right = [ "" ];
|
||||
shift-overview-down = [ "" ];
|
||||
shift-overview-up = [ "" ];
|
||||
switch-to-workspace-down = [ "" ];
|
||||
switch-to-workspace-right = [ ];
|
||||
switch-to-workspace-up = [ "" ];
|
||||
toggle-application-view = [ "" ];
|
||||
toggle-message-tray = [ "<Super>a" ];
|
||||
unmaximize = [ "" ];
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
dynamic-workspaces = true;
|
||||
edge-tiling = false;
|
||||
};
|
||||
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
toggle-tiled-left = [ "" ];
|
||||
toggle-tiled-right = [ "" ];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/color" = {
|
||||
night-light-enabled = true;
|
||||
night-light-schedule-automatic = true;
|
||||
night-light-schedule-from = 18.0;
|
||||
night-light-schedule-to = 7.0;
|
||||
night-light-temperature = mkUint32 3700;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = "wezterm";
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>f";
|
||||
command = "nautilus";
|
||||
name = "Files";
|
||||
};
|
||||
|
||||
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
||||
# binding = "<Super>f";
|
||||
# command = "rofi?";
|
||||
# name = "rofi";
|
||||
# };
|
||||
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
power-button-action = "hibernate";
|
||||
sleep-inactive-ac-timeout = 1200;
|
||||
sleep-inactive-ac-type = "suspend";
|
||||
};
|
||||
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"blur-my-shell@aunetx"
|
||||
"clipboard-indicator@tudmotu.com"
|
||||
"color-picker@tuberry"
|
||||
"dash-to-panel@jderose9.github.com"
|
||||
"monitor-brightness-volume@ailin.nemui"
|
||||
"native-window-placement@gnome-shell-extensions.gcampax.github.com"
|
||||
"screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com"
|
||||
"tilingshell@ferrarodomenico.com"
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"Vitals@CoreCoding.com"
|
||||
# pkgs.gnomeExtensions.just-perfection.extensionUuid
|
||||
pkgs.gnomeExtensions.alphabetical-app-grid.extensionUuid
|
||||
pkgs.gnomeExtensions.quick-settings-audio-devices-hider.extensionUuid
|
||||
pkgs.gnomeExtensions.quick-settings-audio-devices-renamer.extensionUuid
|
||||
];
|
||||
favorite-apps = [
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"org.wezfurlong.wezterm.desktop"
|
||||
"win11.desktop"
|
||||
"zen.desktop"
|
||||
"spotify.desktop"
|
||||
"vesktop.desktop"
|
||||
"org.telegram.desktop.desktop"
|
||||
"code.desktop"
|
||||
"fleet-jet.desktop"
|
||||
"steam.desktop"
|
||||
"Marvel Rivals.desktop"
|
||||
"org.prismlauncher.PrismLauncher.desktop"
|
||||
];
|
||||
last-selected-power-profile = "performance";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell" = {
|
||||
settings-version = 2;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/appfolder" = {
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/dash-to-dock" = {
|
||||
blur = true;
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
static-blur = true;
|
||||
style-dash-to-dock = 0;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
||||
brightness = 0.6;
|
||||
sigma = 50;
|
||||
static-blur = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/blur-my-shell/window-list" = {
|
||||
brightness = 0.6;
|
||||
sigma = 30;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/clipboard-indicator" = {
|
||||
cache-only-favorites = false;
|
||||
cache-size = 120;
|
||||
display-mode = 0;
|
||||
enable-keybindings = true;
|
||||
history-size = 40;
|
||||
notify-on-copy = false;
|
||||
pinned-on-bottom = true;
|
||||
strip-text = false;
|
||||
toggle-menu = [ "<Super>v" ];
|
||||
topbar-preview-size = 10;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/color-picker" = {
|
||||
color-history = [
|
||||
(mkUint32 3158064)
|
||||
1447446
|
||||
14538709
|
||||
14637907
|
||||
1447446
|
||||
3355443
|
||||
16777215
|
||||
1644825
|
||||
];
|
||||
color-picker-shortcut = [ "<Super>c" ];
|
||||
enable-notify = true;
|
||||
enable-shortcut = true;
|
||||
enable-systray = true;
|
||||
menu-size = mkUint32 8;
|
||||
notify-style = mkUint32 0;
|
||||
persistent-mode = false;
|
||||
preview-style = mkUint32 0;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/dash-to-panel" = {
|
||||
appicon-margin = 6;
|
||||
appicon-padding = 8;
|
||||
available-monitors = [
|
||||
0
|
||||
1
|
||||
];
|
||||
dot-position = "TOP";
|
||||
dot-style-focused = "DASHES";
|
||||
dot-style-unfocused = "DASHES";
|
||||
multi-monitors = false;
|
||||
panel-positions = ''
|
||||
{"0":"TOP","1":"TOP"}
|
||||
'';
|
||||
primary-monitor = 0;
|
||||
scroll-icon-action = "CYCLE_WINDOWS";
|
||||
scroll-panel-action = "SWITCH_WORKSPACE";
|
||||
trans-panel-opacity = "0.40";
|
||||
trans-use-custom-opacity = true;
|
||||
tray-padding = 8;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/tilingshell" = {
|
||||
enable-autotiling = false;
|
||||
enable-smart-window-border-radius = false;
|
||||
enable-window-border = true;
|
||||
inner-gaps = mkUint32 8;
|
||||
last-version-name-installed = "16.2";
|
||||
layouts-json = "[{\"id\":\"Layout 1\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":0.22,\"height\":0.5,\"groups\":[2,1]},{\"x\":0,\"y\":0.5,\"width\":0.22,\"height\":0.5,\"groups\":[1,2]},{\"x\":0.22,\"y\":0,\"width\":0.2794791666666666,\"height\":0.5,\"groups\":[7,5,2]},{\"x\":0.753125,\"y\":0,\"width\":0.24687499999999998,\"height\":0.5,\"groups\":[4,3]},{\"x\":0.753125,\"y\":0.5,\"width\":0.24687499999999998,\"height\":0.5,\"groups\":[4,3]},{\"x\":0.22,\"y\":0.5,\"width\":0.2797395833333334,\"height\":0.5,\"groups\":[5,6,2]},{\"x\":0.49973958333333335,\"y\":0.5,\"width\":0.2533854166666667,\"height\":0.5,\"groups\":[5,3,6]},{\"x\":0.49947916666666664,\"y\":0,\"width\":0.25364583333333346,\"height\":0.5,\"groups\":[3,5,7]}]},{\"id\":\"Layout 2\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":0.22,\"height\":1,\"groups\":[1]},{\"x\":0.22,\"y\":0,\"width\":0.56,\"height\":1,\"groups\":[1,2]},{\"x\":0.78,\"y\":0,\"width\":0.22,\"height\":1,\"groups\":[2]}]},{\"id\":\"985825\",\"tiles\":[{\"x\":0,\"y\":0,\"width\":1,\"height\":0.5,\"groups\":[1]},{\"x\":0,\"y\":0.5,\"width\":1,\"height\":0.5,\"groups\":[1]}]}]";
|
||||
move-window-center = [ "<Super>Return" ];
|
||||
outer-gaps = mkUint32 4;
|
||||
overridden-settings = "{\"org.gnome.mutter.keybindings\":{\"toggle-tiled-right\":\"['<Super>Right']\",\"toggle-tiled-left\":\"['<Super>Left']\"},\"org.gnome.desktop.wm.keybindings\":{\"maximize\":\"['<Super>Up']\",\"unmaximize\":\"['<Super>Down', '<Alt>F5']\"},\"org.gnome.mutter\":{\"edge-tiling\":\"false\"}}";
|
||||
restore-window-original-size = false;
|
||||
selected-layouts = [
|
||||
[
|
||||
"Layout 1"
|
||||
"985825"
|
||||
]
|
||||
[
|
||||
"Layout 1"
|
||||
"985825"
|
||||
]
|
||||
];
|
||||
span-multiple-tiles-activation-key = [ "1" ];
|
||||
span-window-all-tiles = [ "<Control><Super>Page_Up" ];
|
||||
span-window-down = [ "<Alt><Super>Down" ];
|
||||
span-window-left = [ "<Alt><Super>Left" ];
|
||||
span-window-right = [ "<Alt><Super>Right" ];
|
||||
span-window-up = [ "<Alt><Super>Up" ];
|
||||
tiling-system-activation-key = [ "2" ];
|
||||
untile-window = [ "<Control><Super>Page_Down" ];
|
||||
window-border-width = mkUint32 1;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/user-theme" = {
|
||||
name = "Gruvbox-Dark";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/vitals" = {
|
||||
alphabetize = true;
|
||||
hide-icons = false;
|
||||
hide-zeros = false;
|
||||
hot-sensors = [
|
||||
"_memory_usage_"
|
||||
"_storage_free_"
|
||||
"_network_public_ip_"
|
||||
"_processor_usage_"
|
||||
"__temperature_avg__"
|
||||
"_system_uptime_"
|
||||
];
|
||||
icon-style = 0;
|
||||
include-static-gpu-info = false;
|
||||
menu-centered = false;
|
||||
position-in-panel = 4;
|
||||
show-gpu = false;
|
||||
};
|
||||
|
||||
"org/gtk/gtk4/settings/file-chooser" = {
|
||||
show-hidden = true;
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
date-format = "regular";
|
||||
location-mode = "path-bar";
|
||||
show-hidden = true;
|
||||
show-size-column = true;
|
||||
show-type-column = true;
|
||||
sidebar-width = 165;
|
||||
sort-column = "name";
|
||||
sort-directories-first = true;
|
||||
sort-order = "ascending";
|
||||
type-format = "category";
|
||||
window-position = mkTuple [
|
||||
102
|
||||
102
|
||||
];
|
||||
window-size = mkTuple [
|
||||
1231
|
||||
902
|
||||
];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [
|
||||
"qemu:///session"
|
||||
"qemu:///system"
|
||||
];
|
||||
uris = [
|
||||
"qemu:///session"
|
||||
"qemu:///system"
|
||||
];
|
||||
};
|
||||
|
||||
"org/virt-manager/virt-manager/vmlist-fields" = {
|
||||
disk-usage = true;
|
||||
network-traffic = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
# Replaces the default terminal emulator; gnome-terminal/gnome-console is disabled
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
theme = "stylix";
|
||||
font-family = "monospace";
|
||||
font-size = "11";
|
||||
background-opacity = "0.85";
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
TERM = "ghostty";
|
||||
};
|
||||
}
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.9 MiB |
179
home/toph/common/optional/hyprland/binds.nix
Normal file
179
home/toph/common/optional/hyprland/binds.nix
Normal file
|
@ -0,0 +1,179 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
## Functions, Variables and Launchers ##
|
||||
|
||||
# colorpicker = exec ./scripts/colorpicker.fish;
|
||||
# lockscreen = exec ./scripts/lockscreen.fish;
|
||||
# notify = exec ./scripts/notify.fish;
|
||||
# wlogout = exec ./scripts/wlogout.fish;
|
||||
#gtk-play = "${pkgs.libcanberra-gtk3}/bin/canberra-gtk-play";
|
||||
#makoctl = "${config.services.mako.package}/bin/makoctl";
|
||||
#notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||
#playerctl = lib.getExe pkgs.playerctl; # installed via /home/common/optional/desktops/playerctl.nix
|
||||
#swaylock = "lib.getExe pkgs.swaylock;
|
||||
|
||||
betterControl = inputs.better-control.packages.${pkgs.system}.better-control;
|
||||
|
||||
defaultApp =
|
||||
type: "${pkgs.gtk3}/bin/gtk-launch $(${pkgs.xdg-utils}/bin/xdg-mime query default ${type})";
|
||||
exec = script: "${pkgs.fish}/bin/fish ${script}";
|
||||
|
||||
files = "${pkgs.nautilus}/bin/nautilus $HOME";
|
||||
browser = defaultApp "x-scheme-handler/https";
|
||||
editor = "code";
|
||||
launcher = "${pkgs.walker}/bin/walker --modules applications,ssh";
|
||||
pactl = lib.getExe' pkgs.pulseaudio "pactl";
|
||||
terminal = exec (import ./scripts/terminal.nix { inherit pkgs; });
|
||||
brightness = exec (import ./scripts/brightness.nix { inherit pkgs lib; });
|
||||
|
||||
## Long ass keys ##
|
||||
lowerVol = "XF86AudioLowerVolume";
|
||||
raiseVol = "XF86AudioRaiseVolume";
|
||||
brightUp = "XF86MonBrightnessUp";
|
||||
brightDown = "XF86MonBrightnessDown";
|
||||
|
||||
## Keybinds & Submaps ##
|
||||
|
||||
#INFO: Did this scripts to avoid the shitty hyprland config implementation for nix :)
|
||||
submaps = {
|
||||
## Submap: Reset ##
|
||||
"" = {
|
||||
binds = {
|
||||
## One-Shot Binds ##
|
||||
"" = [
|
||||
## Terminal ##
|
||||
"SUPER, T, exec, ${terminal}"
|
||||
# "SUPER_SHIFT, T, exec, ${terminal}" # Floating
|
||||
# "SUPER_ALT, T, exec, ${terminal}" # Select
|
||||
|
||||
## App Runs ##
|
||||
"SUPER, F, exec, ${files}"
|
||||
"SUPER, E, exec, ${editor}"
|
||||
"SUPER, W, exec, ${browser}"
|
||||
"SUPER, N, exec, nm-connection-editor"
|
||||
|
||||
## Launcher ##
|
||||
"SUPER, SUPER_L, exec, ${launcher}"
|
||||
# "SUPER, SUPER_L, exec, ${launcher} --app launcher"
|
||||
# "SUPER, P, exec, ${launcher} --app color" # Color Picker
|
||||
# "SUPER, V, exec, ${launcher} --app clip" # Clipboard
|
||||
# "SUPER, X, exec, ${launcher} --app power" # Power Menu
|
||||
"SUPER, X, exec, ${lib.getExe betterControl} -pm" # Power Menu
|
||||
|
||||
## System ##
|
||||
"SUPER, L, exec, hyprlock"
|
||||
# "SUPER, L, exec, ${lockscreen}"
|
||||
"SUPER, Q, killactive,"
|
||||
"CTRL_ALT, Delete, exec, uwsm stop"
|
||||
", ${brightUp}, exec, ${brightness} + 10"
|
||||
", ${brightDown}, exec, ${brightness} - 10"
|
||||
|
||||
## Window Management ##
|
||||
"SUPER_SHIFT, F, fullscreen, 0"
|
||||
"SUPER_ALT, F, fullscreenstate, 0 3"
|
||||
# "SUPER, F, exec, ${notify} 'Fullscreen Mode'"
|
||||
"SUPER, Backspace, togglefloating,"
|
||||
"SUPER, Backspace, centerwindow,"
|
||||
"SUPER, left, scroller:movefocus, l"
|
||||
"SUPER, right, scroller:movefocus, r"
|
||||
"SUPER, up, scroller:movefocus, u"
|
||||
"SUPER, down, scroller:movefocus, d"
|
||||
"SUPER_SHIFT, left, scroller:movewindow, l, nomode"
|
||||
"SUPER_SHIFT, right, scroller:movewindow, r, nomode"
|
||||
"SUPER_SHIFT, up, scroller:movewindow, u, nomode"
|
||||
"SUPER_SHIFT, down, scroller:movewindow, d, nomode"
|
||||
"SUPER_SHIFT, P, pin,"
|
||||
# "SUPER_SHIFT, P, exec, ${notify} 'Toggled Pin'"
|
||||
"SUPER_SHIFT, S, swapnext"
|
||||
# "SUPER_SHIFT, O, toggleopaque"
|
||||
"SUPER, G, togglegroup"
|
||||
# "SUPER, G, exec, ${notify} 'Toggled Group'"
|
||||
"SUPER, Tab, changegroupactive, f"
|
||||
|
||||
# ## Workspaces ##
|
||||
# ", Home, hyprexpo:expo, toggle"
|
||||
", Home, overview:toggle"
|
||||
"ALT, Tab, cyclenext,"
|
||||
"ALT, Tab, bringactivetotop,"
|
||||
"SUPER, 1, workspace, 1"
|
||||
"SUPER, 2, workspace, 2"
|
||||
"SUPER, 3, workspace, 3"
|
||||
"SUPER, 4, workspace, 4"
|
||||
"SUPER_ALT, G, exec, ${steam-map} on ${monitors-json}"
|
||||
|
||||
## Scroller ##
|
||||
"SUPER, P, scroller:pin"
|
||||
"SUPER, P, scroller:alignwindow, left"
|
||||
"SUPER, P, scroller:setsize, onethird"
|
||||
# "\\notify"
|
||||
"SUPER_SHIFT, P, scroller:pin"
|
||||
"SUPER_SHIFT, P, scroller:alignwindow, right"
|
||||
"SUPER_SHIFT, P, scroller:setsize, onethird"
|
||||
# "\\notify"
|
||||
"SUPER, A, scroller:jump"
|
||||
# F20 - F23
|
||||
", code:198, scroller:selectiontoggle"
|
||||
", code:199, scroller:selectionworkspace"
|
||||
", code:200, scroller:selectionmove, e"
|
||||
", code:201, scroller:selectionreset"
|
||||
|
||||
];
|
||||
|
||||
## Repeating Binds ##
|
||||
e = [
|
||||
"SUPER_ALT, left, scroller:cyclewidth, next"
|
||||
"SUPER_ALT, right, scroller:cyclewidth, prev"
|
||||
"SUPER_ALT, up, scroller:cycleheight, next"
|
||||
"SUPER_ALT, down, scroller:cycleheight, prev"
|
||||
# "SUPER_ALT, left, resizeactive, -20 0"
|
||||
# "SUPER_ALT, right, resizeactive, 20 0"
|
||||
# "SUPER_ALT, up, resizeactive, 0 -20"
|
||||
# "SUPER_ALT, down, resizeactive, 0 20"
|
||||
", ${raiseVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
", ${raiseVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ -5%"
|
||||
];
|
||||
|
||||
## Mouse Binds ##
|
||||
m = [
|
||||
", mouse:275, movewindow"
|
||||
", mouse:276, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
## Submap: Steam ##
|
||||
steam = {
|
||||
binds = {
|
||||
"" = [
|
||||
"SUPER, Escape, exec, ${steam-map} off ${monitors-json}"
|
||||
];
|
||||
n = [
|
||||
"SUPER, SUPER_L, pass"
|
||||
", mouse:275, pass"
|
||||
", mouse:276, pass"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
steam-map = import ./scripts/steam-map.nix { inherit pkgs; };
|
||||
monitors-json = pkgs.writeText "monitors.json" (builtins.toJSON config.monitors);
|
||||
|
||||
submaps-script = import ./scripts/submaps.nix { inherit pkgs; };
|
||||
submaps-json = pkgs.writeText "submaps.json" (builtins.toJSON submaps);
|
||||
submaps-run = pkgs.runCommand "submaps-run" { inherit submaps-json submaps-script; } ''
|
||||
mkdir -p $out
|
||||
${pkgs.fish}/bin/fish ${submaps-script} ${submaps-json} > $out/submaps-out
|
||||
'';
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.extraConfig = builtins.readFile "${submaps-run}/submaps-out";
|
||||
}
|
190
home/toph/common/optional/hyprland/default.nix
Normal file
190
home/toph/common/optional/hyprland/default.nix
Normal file
|
@ -0,0 +1,190 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.enable = false; # using withUWSM
|
||||
package = null;
|
||||
portalPackage = null;
|
||||
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
# variables = [ "--all" ];
|
||||
# extraCommands = lib.mkBefore [
|
||||
# "systemctl --user stop graphical-session.target"
|
||||
# "systemctl --user start hyprland-session.target"
|
||||
# ];
|
||||
# };
|
||||
|
||||
settings = {
|
||||
## Environment Vars ##
|
||||
env = [
|
||||
"NIXOS_XDG_OPEN_USE_PORTAL, 1" # for xdg-open to use portal
|
||||
"NIXOS_OZONE_WL, 1" # for ozone-based and electron apps to run on wayland
|
||||
"MOZ_ENABLE_WAYLAND, 1" # for firefox to run on wayland
|
||||
"MOZ_WEBRENDER, 1" # for firefox to run on wayland
|
||||
"XDG_SESSION_TYPE, wayland"
|
||||
"XDG_SESSION_DESKTOP, Hyprland"
|
||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
||||
"WLR_NO_HARDWARE_CURSORS, 1"
|
||||
"WLR_RENDERER_ALLOW_SOFTWARE, 1"
|
||||
"QT_QPA_PLATFORM, wayland"
|
||||
"GTK_USE_PORTAL, 1"
|
||||
"HYPRCURSOR_THEME, rose-pine-hyprcursor" # this will be better than default for now
|
||||
];
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
|
||||
## Monitor ##
|
||||
|
||||
monitor = (
|
||||
# INFO: parse the monitors defined in home/<user>/<host>/default.nix
|
||||
map (
|
||||
m:
|
||||
"${m.name},${
|
||||
if m.enabled then
|
||||
"${toString m.width}x${toString m.height}@${toString m.refreshRate},${toString m.x}x${toString m.y},${toString m.scale},transform,${toString m.transform},vrr,${toString m.vrr}"
|
||||
else
|
||||
"disable"
|
||||
}"
|
||||
) (config.monitors)
|
||||
);
|
||||
|
||||
# This used to be usefull now its just overkill
|
||||
# Creates 1 persistent workspaces for all monitors
|
||||
workspace =
|
||||
let
|
||||
json = pkgs.writeTextFile {
|
||||
name = "monitors.json";
|
||||
text = builtins.toJSON config.monitors;
|
||||
};
|
||||
parse = pkgs.runCommand "parse-workspaces" { } ''
|
||||
mkdir "$out"; ${pkgs.jq}/bin/jq -r '
|
||||
[ to_entries[] |
|
||||
(.key as $i | .value.name as $name |
|
||||
[ range(1;2) | ($i * 1 + .) as $wsnum |
|
||||
if . == 0 then "\($wsnum), monitor:\($name), default:true, persistent:true"
|
||||
else "\($wsnum), monitor:\($name)" end
|
||||
]
|
||||
)
|
||||
] | flatten
|
||||
' ${json} > "$out/out.json"
|
||||
'';
|
||||
output = builtins.fromJSON (builtins.readFile "${parse}/out.json");
|
||||
in
|
||||
output;
|
||||
|
||||
## Behavior ##
|
||||
|
||||
binds = {
|
||||
workspace_center_on = 1;
|
||||
movefocus_cycles_fullscreen = false;
|
||||
};
|
||||
|
||||
input = {
|
||||
follow_mouse = 2;
|
||||
mouse_refocus = false;
|
||||
kb_options = "fkeys:basic_13-24";
|
||||
sensitivity = 0.5;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
inactive_timeout = 10;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
animate_manual_resizes = true;
|
||||
animate_mouse_windowdragging = true;
|
||||
#disable_autoreload = true;
|
||||
new_window_takes_over_fullscreen = 2;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
|
||||
group = {
|
||||
drag_into_group = 2;
|
||||
merge_groups_on_drag = true;
|
||||
# col.border_active = "";
|
||||
# col.border_inactive = "";
|
||||
groupbar = {
|
||||
enabled = true;
|
||||
height = 12;
|
||||
};
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = false;
|
||||
force_split = 0;
|
||||
smart_split = true;
|
||||
split_bias = 1;
|
||||
};
|
||||
|
||||
## Appearance ##
|
||||
|
||||
general = {
|
||||
layout = "scroller";
|
||||
border_size = 2;
|
||||
gaps_in = 6;
|
||||
gaps_out = 6;
|
||||
# "col.inactive_border" = "rgb(191b1c)";
|
||||
# "col.active_border" = "rgb(1cbdd9) rgb(f6ef9d) 30deg";
|
||||
allow_tearing = true; # used to reduce latency and/or jitter in games
|
||||
snap = {
|
||||
enabled = true;
|
||||
window_gap = 6;
|
||||
};
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
rounding_power = 4.0;
|
||||
active_opacity = 0.85;
|
||||
inactive_opacity = 0.75;
|
||||
fullscreen_opacity = 1.0;
|
||||
dim_inactive = true;
|
||||
dim_strength = 0.2;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 7;
|
||||
passes = 3;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = true;
|
||||
xray = true;
|
||||
# noise = 0.15;
|
||||
popups = true;
|
||||
};
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 30;
|
||||
render_power = 2;
|
||||
scale = 1.5;
|
||||
# color = "rgb(191b1c)";
|
||||
# color_inactive = "rgb(191b1c)";
|
||||
};
|
||||
};
|
||||
|
||||
animation = [
|
||||
"windowsIn, 1, 5 ,default, popin 0%"
|
||||
"windowsOut, 1, 5 ,default, popin"
|
||||
"windowsMove, 1, 5 ,default, slide"
|
||||
"fadeIn, 1, 8 ,default"
|
||||
"fadeOut, 1, 8 ,default"
|
||||
"fadeSwitch, 1, 8 ,default"
|
||||
"fadeShadow, 1, 8 ,default"
|
||||
"fadeDim, 1, 8 ,default"
|
||||
"border, 1, 10 ,default"
|
||||
"workspaces, 1, 5 ,default, slide"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
68
home/toph/common/optional/hyprland/plugins.nix
Normal file
68
home/toph/common/optional/hyprland/plugins.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
|
||||
home.packages = [
|
||||
# pkgs.hyprlandPlugins.hyprexpo
|
||||
pkgs.hyprlandPlugins.hyprspace
|
||||
pkgs.hyprlandPlugins.hyprscroller
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [
|
||||
# pkgs.hyprlandPlugins.hyprexpo
|
||||
pkgs.hyprlandPlugins.hyprspace
|
||||
pkgs.hyprlandPlugins.hyprscroller
|
||||
];
|
||||
|
||||
# TODO: Colors and Theme
|
||||
settings = {
|
||||
windowrulev2 = [
|
||||
"bordercolor rgb(191b1c) rgb(ffffff) 25deg, tag: scroller:pinned"
|
||||
];
|
||||
|
||||
plugin = {
|
||||
# hyprexpo = {
|
||||
# columns = 3;
|
||||
# gap_size = 5;
|
||||
# bg_col = "rgb(000000)";
|
||||
# workspace_method = "center current"; # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
# };
|
||||
overview = {
|
||||
centerAligned = true;
|
||||
hideOverlayLayers = true;
|
||||
showSpecialWorkspaces = true;
|
||||
};
|
||||
scroller = {
|
||||
mode = "row";
|
||||
center_active_column = true;
|
||||
center_active_window = false;
|
||||
focus_wrap = true;
|
||||
overview_scale_content = false;
|
||||
"col.selection_border" = "rgb(191b1c)";
|
||||
jump_labels_font = "Monocraft";
|
||||
jump_labels_color = "rgb(ffffff)";
|
||||
jump_labels_scale = "0.1";
|
||||
jump_labels_keys = "qwfpgarstd";
|
||||
# monitor_options = ''
|
||||
# (
|
||||
# DP-1 = (
|
||||
# mode = row;
|
||||
# column_default_width = onehalf;
|
||||
# column_widths = onehalf onethird twothirds threefourths;
|
||||
# window_default_height = seveneighths;
|
||||
# window_heights = seveneighths onehalf onethird twothirds
|
||||
# ),
|
||||
# HDMI-A-2 = (
|
||||
# mode = col;
|
||||
# column_default_width = one;
|
||||
# column_widths = one onehalf;
|
||||
# window_default_height = twothirds;
|
||||
# window_heights = seveneighths onehalf onethird twothirds
|
||||
# ),
|
||||
# )'';
|
||||
monitor_options = "(DP-1 = (mode = row;column_default_width = onehalf;column_widths = seveneighths threequarters twothirds onehalf onethird;window_default_height = one;window_heights = one seveneighths twothirds onehalf onethird),HDMI-A-2 = (mode = col; column_default_width = one;column_widths = one onehalf;window_default_height = twothirds;window_heights = seveneighths twothirds onehalf onethird),)";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{ lib, ... }:
|
||||
{
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
}
|
38
home/toph/common/optional/hyprland/programs/hyprlock.nix
Normal file
38
home/toph/common/optional/hyprland/programs/hyprlock.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
immediate_render = true;
|
||||
hide_cursor = false;
|
||||
no_fade_in = true;
|
||||
};
|
||||
|
||||
background = lib.mkDefault [
|
||||
{
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = lib.mkDefault [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_color = "rgb(202, 211, 245)";
|
||||
inner_color = "rgb(91, 96, 120)";
|
||||
outer_color = "rgb(24, 25, 38)";
|
||||
outline_thickness = 5;
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
248
home/toph/common/optional/hyprland/programs/walker/config.toml
Normal file
248
home/toph/common/optional/hyprland/programs/walker/config.toml
Normal file
|
@ -0,0 +1,248 @@
|
|||
app_launch_prefix = ""
|
||||
terminal_title_flag = ""
|
||||
locale = ""
|
||||
close_when_open = false
|
||||
theme = "default"
|
||||
monitor = ""
|
||||
hotreload_theme = false
|
||||
as_window = false
|
||||
timeout = 0
|
||||
disable_click_to_close = false
|
||||
force_keyboard_focus = true
|
||||
|
||||
[keys]
|
||||
accept_typeahead = ["tab"]
|
||||
trigger_labels = "lalt"
|
||||
next = ["down"]
|
||||
prev = ["up"]
|
||||
close = ["esc"]
|
||||
remove_from_history = ["shift backspace"]
|
||||
resume_query = ["ctrl r"]
|
||||
toggle_exact_search = ["ctrl m"]
|
||||
|
||||
[keys.activation_modifiers]
|
||||
keep_open = "shift"
|
||||
alternate = "alt"
|
||||
|
||||
[keys.ai]
|
||||
clear_session = ["ctrl x"]
|
||||
copy_last_response = ["ctrl c"]
|
||||
resume_session = ["ctrl r"]
|
||||
run_last_response = ["ctrl e"]
|
||||
|
||||
[events]
|
||||
on_activate = ""
|
||||
on_selection = ""
|
||||
on_exit = ""
|
||||
on_launch = ""
|
||||
on_query_change = ""
|
||||
|
||||
[list]
|
||||
dynamic_sub = true
|
||||
keyboard_scroll_style = "emacs"
|
||||
max_entries = 50
|
||||
show_initial_entries = true
|
||||
single_click = true
|
||||
visibility_threshold = 20
|
||||
placeholder = "No Results"
|
||||
|
||||
[search]
|
||||
argument_delimiter = "#"
|
||||
placeholder = "Search..."
|
||||
delay = 0
|
||||
resume_last_query = false
|
||||
|
||||
[activation_mode]
|
||||
labels = "jkl;asdf"
|
||||
|
||||
[builtins.applications]
|
||||
weight = 5
|
||||
name = "applications"
|
||||
placeholder = "Applications"
|
||||
prioritize_new = true
|
||||
hide_actions_with_empty_query = true
|
||||
context_aware = true
|
||||
refresh = true
|
||||
show_sub_when_single = true
|
||||
show_icon_when_single = true
|
||||
show_generic = true
|
||||
history = true
|
||||
|
||||
[builtins.applications.actions]
|
||||
enabled = true
|
||||
hide_category = false
|
||||
hide_without_query = true
|
||||
|
||||
[builtins.bookmarks]
|
||||
weight = 5
|
||||
placeholder = "Bookmarks"
|
||||
name = "bookmarks"
|
||||
icon = "bookmark"
|
||||
switcher_only = true
|
||||
|
||||
[[builtins.bookmarks.entries]]
|
||||
label = "Walker"
|
||||
url = "https://github.com/abenz1267/walker"
|
||||
keywords = ["walker", "github"]
|
||||
|
||||
[builtins.xdph_picker]
|
||||
hidden = true
|
||||
weight = 5
|
||||
placeholder = "Screen/Window Picker"
|
||||
show_sub_when_single = true
|
||||
name = "xdphpicker"
|
||||
switcher_only = true
|
||||
|
||||
[builtins.ai]
|
||||
weight = 5
|
||||
placeholder = "AI"
|
||||
name = "ai"
|
||||
icon = "help-browser"
|
||||
switcher_only = true
|
||||
|
||||
[[builtins.ai.anthropic.prompts]]
|
||||
model = "claude-3-5-sonnet-20241022"
|
||||
temperature = 1
|
||||
max_tokens = 1_000
|
||||
label = "General Assistant"
|
||||
prompt = "You are a helpful general assistant. Keep your answers short and precise."
|
||||
|
||||
[builtins.calc]
|
||||
require_number = true
|
||||
weight = 5
|
||||
name = "calc"
|
||||
icon = "accessories-calculator"
|
||||
placeholder = "Calculator"
|
||||
min_chars = 4
|
||||
|
||||
[builtins.windows]
|
||||
weight = 5
|
||||
icon = "view-restore"
|
||||
name = "windows"
|
||||
placeholder = "Windows"
|
||||
show_icon_when_single = true
|
||||
|
||||
[builtins.clipboard]
|
||||
always_put_new_on_top = true
|
||||
exec = "wl-copy"
|
||||
weight = 5
|
||||
name = "clipboard"
|
||||
avoid_line_breaks = true
|
||||
placeholder = "Clipboard"
|
||||
image_height = 300
|
||||
max_entries = 10
|
||||
switcher_only = true
|
||||
|
||||
[builtins.commands]
|
||||
weight = 5
|
||||
icon = "utilities-terminal"
|
||||
switcher_only = true
|
||||
name = "commands"
|
||||
placeholder = "Commands"
|
||||
|
||||
[builtins.custom_commands]
|
||||
weight = 5
|
||||
icon = "utilities-terminal"
|
||||
name = "custom_commands"
|
||||
placeholder = "Custom Commands"
|
||||
|
||||
[builtins.emojis]
|
||||
exec = "wl-copy"
|
||||
weight = 5
|
||||
name = "emojis"
|
||||
placeholder = "Emojis"
|
||||
switcher_only = true
|
||||
history = true
|
||||
typeahead = true
|
||||
show_unqualified = false
|
||||
|
||||
[builtins.symbols]
|
||||
after_copy = ""
|
||||
weight = 5
|
||||
name = "symbols"
|
||||
placeholder = "Symbols"
|
||||
switcher_only = true
|
||||
history = true
|
||||
typeahead = true
|
||||
|
||||
[builtins.finder]
|
||||
use_fd = false
|
||||
weight = 5
|
||||
icon = "file"
|
||||
name = "finder"
|
||||
placeholder = "Finder"
|
||||
switcher_only = true
|
||||
ignore_gitignore = true
|
||||
refresh = true
|
||||
concurrency = 8
|
||||
show_icon_when_single = true
|
||||
preview_images = false
|
||||
|
||||
[builtins.runner]
|
||||
eager_loading = true
|
||||
weight = 5
|
||||
icon = "utilities-terminal"
|
||||
name = "runner"
|
||||
placeholder = "Runner"
|
||||
typeahead = true
|
||||
history = true
|
||||
generic_entry = false
|
||||
refresh = true
|
||||
use_fd = false
|
||||
|
||||
[builtins.ssh]
|
||||
weight = 5
|
||||
icon = "preferences-system-network"
|
||||
name = "ssh"
|
||||
placeholder = "SSH"
|
||||
switcher_only = true
|
||||
history = true
|
||||
refresh = true
|
||||
|
||||
[builtins.switcher]
|
||||
weight = 5
|
||||
name = "switcher"
|
||||
placeholder = "Switcher"
|
||||
prefix = "/"
|
||||
|
||||
[builtins.websearch]
|
||||
keep_selection = true
|
||||
weight = 5
|
||||
icon = "applications-internet"
|
||||
name = "websearch"
|
||||
placeholder = "Websearch"
|
||||
|
||||
[[builtins.websearch.entries]]
|
||||
name = "Google"
|
||||
url = "https://www.google.com/search?q=%TERM%"
|
||||
|
||||
[[builtins.websearch.entries]]
|
||||
name = "DuckDuckGo"
|
||||
url = "https://duckduckgo.com/?q=%TERM%"
|
||||
switcher_only = true
|
||||
|
||||
[[builtins.websearch.entries]]
|
||||
name = "Ecosia"
|
||||
url = "https://www.ecosia.org/search?q=%TERM%"
|
||||
switcher_only = true
|
||||
|
||||
[[builtins.websearch.entries]]
|
||||
name = "Yandex"
|
||||
url = "https://yandex.com/search/?text=%TERM%"
|
||||
switcher_only = true
|
||||
|
||||
[builtins.dmenu]
|
||||
hidden = true
|
||||
weight = 5
|
||||
name = "dmenu"
|
||||
placeholder = "Dmenu"
|
||||
switcher_only = true
|
||||
|
||||
[builtins.translation]
|
||||
delay = 1000
|
||||
weight = 5
|
||||
name = "translation"
|
||||
icon = "accessories-dictionary"
|
||||
placeholder = "Translation"
|
||||
switcher_only = true
|
||||
provider = "googlefree"
|
|
@ -0,0 +1,13 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.walker ];
|
||||
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
''walker --gapplication-service''
|
||||
];
|
||||
|
||||
home.file."~/.config/walker/config.toml" = {
|
||||
source = ./config.toml;
|
||||
target = ".config/walker/config.toml";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
inputs.watershot.packages.${pkgs.system}.default
|
||||
pkgs.grim
|
||||
];
|
||||
|
||||
home.file.".config/watershot.ron" = {
|
||||
source = ./watershot.ron;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
Config(
|
||||
handle_radius: 10,
|
||||
line_width: 2,
|
||||
display_highlight_width: 5,
|
||||
selection_color: Color(
|
||||
r: 0.38,
|
||||
g: 0.68,
|
||||
b: 0.94,
|
||||
a: 1.0,
|
||||
),
|
||||
shade_color: Color(
|
||||
r: 0.11,
|
||||
g: 0.0,
|
||||
b: 0.11,
|
||||
a: 0.6,
|
||||
),
|
||||
text_color: Color(
|
||||
r: 1.0,
|
||||
g: 1.0,
|
||||
b: 1.0,
|
||||
a: 1.0,
|
||||
),
|
||||
mode_text_size: 50,
|
||||
font_family: "monospace",
|
||||
)
|
134
home/toph/common/optional/hyprland/rules.nix
Normal file
134
home/toph/common/optional/hyprland/rules.nix
Normal file
|
@ -0,0 +1,134 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
# Zen extensions to float
|
||||
zen-script = import ./scripts/zen-float.nix { inherit pkgs; };
|
||||
zen-json = pkgs.writeText "zen-extensions.json" (builtins.toJSON zen-extensions);
|
||||
zen-extensions = {
|
||||
bitwarden = {
|
||||
regex = "'*(Bitwarden Password Manager) - Bitwarden*'";
|
||||
x = 500;
|
||||
y = 900;
|
||||
};
|
||||
authenticator = {
|
||||
regex = "'*(Authenticator) - Authenticator*'";
|
||||
x = 335;
|
||||
y = 525;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
|
||||
# Floats zen extensions
|
||||
exec-once = [
|
||||
"${pkgs.fish}/bin/fish ${zen-script} ${zen-json}"
|
||||
];
|
||||
|
||||
## Layers Rules ##
|
||||
|
||||
layer = [
|
||||
#"blur, rofi"
|
||||
#"ignorezero, rofi"
|
||||
#"ignorezero, logout_dialog"
|
||||
];
|
||||
|
||||
## Window Rules ##
|
||||
|
||||
windowrulev2 = [
|
||||
# Dialogs
|
||||
"float, title:^(Open File)(.*)$"
|
||||
"float, title:^(Select a File)(.*)$"
|
||||
"float, title:^(Choose wallpaper)(.*)$"
|
||||
"float, title:^(Open Folder)(.*)$"
|
||||
"float, title:^(Save As)(.*)$"
|
||||
"float, title:^(Library)(.*)$"
|
||||
"float, title:^(Accounts)(.*)$"
|
||||
"float, title:^(Media viewer)$"
|
||||
|
||||
# Zen
|
||||
"suppressevent maximize, class:^(zen)$"
|
||||
"float, initialTitle:^(Picture-in-Picture)$"
|
||||
"nodim, initialTitle:^(Picture-in-Picture)$"
|
||||
"keepaspectratio, initialTitle:^(Picture-in-Picture)$"
|
||||
"float, class:^(zen)$, title:^(File Upload)$"
|
||||
"workspace special silent, title:^(Zen — Sharing Indicator)$"
|
||||
"workspace special silent, title:^(.*is sharing (your screen|a window)\.)$"
|
||||
|
||||
# Foot
|
||||
"plugin:scroller:modemodifier col after focus, class:^(foot)$"
|
||||
"plugin:scroller:windowheight onethird, class:^(foot)$"
|
||||
|
||||
# Vesktop
|
||||
"workspace 2, class:^(vesktop)$"
|
||||
"plugin:scroller:group vesktop, class:^(vesktop)$"
|
||||
"opaque, initialTitle:^(Discord Popout)$"
|
||||
"plugin:scroller:modemodifier row before focus, initialTitle:^(Discord Popout)$"
|
||||
"plugin:scroller:windowheight onethird, initialTitle:^(Discord Popout)$"
|
||||
|
||||
# VsCode
|
||||
"plugin:scroller:group code, class:^(code)$"
|
||||
"plugin:scroller:alignwindow center, class:^(code)$"
|
||||
"plugin:scroller:windowheight seveneighths, class:^(code)$"
|
||||
|
||||
# Float Apps
|
||||
"float, class:^(galculator)$"
|
||||
"float, class:^(waypaper)$"
|
||||
"float, class:^(keymapp)$"
|
||||
|
||||
# Nautilus
|
||||
"float, initialClass:^(org.gnome.Nautilus)$"
|
||||
"float, initialClass:^(org.gnome.Nautilus)$, move 10% 50%"
|
||||
"size 30% 30%, initialClass:^(org.gnome.Nautilus)$"
|
||||
|
||||
# Always opaque
|
||||
"opaque, class:^([Gg]imp)$"
|
||||
"opaque, class:^([Ff]lameshot)$"
|
||||
"opaque, class:^([Ii]nkscape)$"
|
||||
"opaque, class:^([Bb]lender)$"
|
||||
"opaque, class:^([Oo][Bb][Ss])$"
|
||||
"opaque, class:^([Vv]lc)$"
|
||||
|
||||
# Remove transparency from video
|
||||
"opaque, title:^(Netflix)(.*)$"
|
||||
"opaque, title:^(.*YouTube.*)$"
|
||||
|
||||
## Scratch rules ##
|
||||
#"size 80% 85%, workspace:^(special:special)$"
|
||||
#"center, workspace:^(special:special)$"
|
||||
|
||||
#Ryujinx
|
||||
"opaque, initialClass:^(Ryujinx)$"
|
||||
"immediate, initialClass:^(Ryujinx)$"
|
||||
"workspace 3, initialClass:^(Ryujinx)$"
|
||||
"float, initialTitle:^(ContentDialogOverlayWindow)$"
|
||||
"center, initialTitle:^(ContentDialogOverlayWindow)$"
|
||||
|
||||
## Steam rules ##
|
||||
"opaque, initialClass:^([Gg]amescope)$"
|
||||
# "stayfocused, initialClass:^([Gg]amescope)$"
|
||||
"fullscreen, initialClass:^([Gg]amescope)$"
|
||||
"minsize 1 1, initialClass:^([Gg]amescope)$"
|
||||
"immediate, initialClass:^([Gg]amescope)$"
|
||||
"workspace 3, initialClass:^([Gg]amescope)$"
|
||||
|
||||
#
|
||||
# ========== Fameshot rules ==========
|
||||
#
|
||||
# flameshot currently doesn't have great wayland support so needs some tweaks
|
||||
#"rounding 0, class:^([Ff]lameshot)$"
|
||||
#"noborder, class:^([Ff]lameshot)$"
|
||||
#"float, class:^([Ff]lameshot)$"
|
||||
#"move 0 0, class:^([Ff]lameshot)$"
|
||||
#"suppressevent fullscreen, class:^([Ff]lameshot)$"
|
||||
# "monitor:DP-1, ${flameshot}"
|
||||
|
||||
## Workspace Assignments ##
|
||||
"workspace 2, initialClass:^(spotify)$"
|
||||
"workspace 2, initialClass:^(org.telegram.desktop)$"
|
||||
# "workspace name:4, initialClass:^(virt-manager)$"
|
||||
|
||||
# "workspace 8, class:^(obsidian)$"
|
||||
# "workspace 9, class:^(brave-browser)$"
|
||||
];
|
||||
};
|
||||
}
|
46
home/toph/common/optional/hyprland/scripts/brightness.nix
Normal file
46
home/toph/common/optional/hyprland/scripts/brightness.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# Define your I2C bus numbers
|
||||
# Couldnt find a non hardcoded way to get the bus numbers :(
|
||||
busesList = [
|
||||
6
|
||||
9
|
||||
];
|
||||
busesStr = lib.concatStringsSep " " (map toString busesList);
|
||||
in
|
||||
|
||||
pkgs.writeScript "brightness-control" ''
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# Usage:
|
||||
# brightness-control --up 10
|
||||
# brightness-control + 10
|
||||
# brightness-control --down 15
|
||||
# brightness-control - 15
|
||||
|
||||
if test (count $argv) -ne 2
|
||||
echo "Usage: $argv[0] [--up|+|--down|-] <INTEGER>"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set option $argv[1]
|
||||
set value $argv[2]
|
||||
|
||||
if test "$option" = "--up" -o "$option" = "+"
|
||||
set op "+"
|
||||
else if test "$option" = "--down" -o "$option" = "-"
|
||||
set op "-"
|
||||
else
|
||||
echo "Invalid option. Use --up | + or --down | -"
|
||||
exit 1
|
||||
end
|
||||
|
||||
# Hard-coded bus list:
|
||||
set buses ${busesStr}
|
||||
|
||||
for bus in $buses
|
||||
echo "Changing brightness on bus $bus: ddcutil setvcp 10 $op $value --bus $bus"
|
||||
${pkgs.ddcutil}/bin/ddcutil setvcp 10 $op $value --bus $bus
|
||||
end
|
||||
''
|
3
home/toph/common/optional/hyprland/scripts/default.nix
Normal file
3
home/toph/common/optional/hyprland/scripts/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
# :D
|
||||
}
|
55
home/toph/common/optional/hyprland/scripts/steam-map.nix
Normal file
55
home/toph/common/optional/hyprland/scripts/steam-map.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
pkgs.writeScript "steam-map" ''
|
||||
#!/usr/bin/env fish
|
||||
# Usage: ./steam-map-toggle.fish on|off <monitors.json>
|
||||
|
||||
if test (count $argv) -lt 2
|
||||
echo "Usage: $0 on|off <monitors.json>"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set mode $argv[1]
|
||||
set json_file $argv[2]
|
||||
|
||||
if not test -e $json_file
|
||||
echo "Error: File $json_file does not exist"
|
||||
exit 1
|
||||
end
|
||||
|
||||
# Parse the JSON and generate instructions for NON-primary monitors.
|
||||
# When 'off', build the monitor string; when 'on', disable the monitor.
|
||||
set instructions (${pkgs.jq}/bin/jq -r --arg mode "$mode" '
|
||||
.[] |
|
||||
if .primary then empty else
|
||||
if $mode == "off" then
|
||||
.name + "," +
|
||||
(.width|tostring) + "x" + (.height|tostring) + "@" + (.refreshRate|tostring) + "," +
|
||||
(.x|tostring) + "x" + (.y|tostring) + "," +
|
||||
(.scale|tostring) +
|
||||
(if has("transform") then ",transform," + (.transform|tostring) else "" end) +
|
||||
",vrr," + (if has("vrr") then (.vrr|tostring) else "0" end)
|
||||
else
|
||||
.name + ", disable"
|
||||
end
|
||||
end
|
||||
' $json_file)
|
||||
|
||||
# Execute hyprctl keyword monitor for each instruction.
|
||||
for instruction in $instructions
|
||||
echo "Running: hyprctl keyword monitor $instruction"
|
||||
hyprctl keyword monitor "$instruction"
|
||||
end
|
||||
|
||||
# Dispatch the appropriate submap.
|
||||
if [ "$mode" = "on" ]
|
||||
hyprctl --batch "dispatch submap steam; dispatch workspace 3"
|
||||
else if [ "$mode" = "off" ]
|
||||
hyprctl dispatch submap reset
|
||||
else
|
||||
echo "Invalid mode: $mode"
|
||||
exit 1
|
||||
end
|
||||
''
|
44
home/toph/common/optional/hyprland/scripts/submaps.nix
Normal file
44
home/toph/common/optional/hyprland/scripts/submaps.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
pkgs.writeScript "submap-script" ''
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# Usage: ./parse_submaps.fish path/to/file.json
|
||||
if test (count $argv) -lt 1
|
||||
echo "Usage: $argv[0] path/to/file.json"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set json_file $argv[1]
|
||||
|
||||
# Iterate over submaps preserving order
|
||||
for entry in (${pkgs.jq}/bin/jq -c '.| to_entries[]' $json_file)
|
||||
set submap_name (echo $entry | ${pkgs.jq}/bin/jq -r '.key')
|
||||
echo "submap=$submap_name"
|
||||
|
||||
# Process each binds entry within the submap
|
||||
for bind_entry in (echo $entry | ${pkgs.jq}/bin/jq -c '.value.binds | to_entries[]')
|
||||
set bind_key (echo $bind_entry | ${pkgs.jq}/bin/jq -r '.key')
|
||||
|
||||
if test "$bind_key" = ""
|
||||
set prefix "bind="
|
||||
else if test "$bind_key" = "unbind"
|
||||
set prefix "unbind="
|
||||
else
|
||||
set prefix "bind$bind_key="
|
||||
end
|
||||
|
||||
# Process each binding's value in the array
|
||||
for binding in (echo $bind_entry | ${pkgs.jq}/bin/jq -r '.value[]')
|
||||
echo "$prefix$binding"
|
||||
end
|
||||
end
|
||||
|
||||
# Append submap reset except for default "" submap
|
||||
if not test "$submap_name" = ""
|
||||
echo "submap=reset"
|
||||
end
|
||||
end
|
||||
''
|
10
home/toph/common/optional/hyprland/scripts/terminal.nix
Normal file
10
home/toph/common/optional/hyprland/scripts/terminal.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# TODO: obviously lol
|
||||
# Handle float terminal and grim select terminal
|
||||
pkgs.writeScript "terminal-launch" ''
|
||||
#!/usr/bin/env fish
|
||||
foot
|
||||
''
|
60
home/toph/common/optional/hyprland/scripts/zen-float.nix
Normal file
60
home/toph/common/optional/hyprland/scripts/zen-float.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
pkgs.writeScript "zen-script" ''
|
||||
#!/usr/bin/env fish
|
||||
|
||||
if test (count $argv) -lt 1
|
||||
echo "Usage: $argv[0] path/to/your.json"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set json_file $argv[1]
|
||||
|
||||
function handle
|
||||
set -l line $argv[1]
|
||||
set -l file_path $argv[2]
|
||||
switch $line
|
||||
case "windowtitlev2*"
|
||||
# Expected format: windowtitlev2>><id>,<title>
|
||||
set -l payload (string replace -r '^windowtitlev2>>' "" $line)
|
||||
set -l parts (string split "," $payload)
|
||||
set -l window_id (string trim $parts[1])
|
||||
set -l title (string join "," $parts[2..-1])
|
||||
|
||||
# Debug output
|
||||
echo "Extracted window_id: [$window_id]"
|
||||
echo "Extracted title: [$title]"
|
||||
|
||||
# Loop over the extensions defined in the JSON file.
|
||||
for ext in ( ${pkgs.jq}/bin/jq -r 'keys[]' $file_path )
|
||||
echo "Processing extension: [$ext]"
|
||||
# Get regex, x and y for the current extension.
|
||||
set -l reg ( ${pkgs.jq}/bin/jq -r --arg k $ext '.[$k].regex' $file_path )
|
||||
set -l ext_x ( ${pkgs.jq}/bin/jq -r --arg k $ext '.[$k].x' $file_path )
|
||||
set -l ext_y ( ${pkgs.jq}/bin/jq -r --arg k $ext '.[$k].y' $file_path )
|
||||
|
||||
# Remove any extra surrounding single quotes.
|
||||
set -l reg (string trim -c "'" $reg)
|
||||
|
||||
# Debug: show the extension and regex being used.
|
||||
echo "Checking extension [$ext] with regex [$reg] against title [$title]"
|
||||
|
||||
# If the title matches the regex, dispatch floating commands.
|
||||
if string match -q -- "*$reg*" "$title"
|
||||
echo "$ext window id: $window_id -- setting float mode with size $ext_x x $ext_y"
|
||||
hyprctl --batch "dispatch togglefloating address:0x$window_id; dispatch resizewindowpixel exact $ext_x $ext_y,address:0x$window_id;"
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
case "*"
|
||||
# Do nothing for other events.
|
||||
end
|
||||
end
|
||||
|
||||
${pkgs.socat}/bin/socat -U - UNIX-CONNECT:/run/user/1000/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -l line
|
||||
handle "$line" "$json_file"
|
||||
end
|
||||
''
|
4
home/toph/common/optional/hyprland/services/default.nix
Normal file
4
home/toph/common/optional/hyprland/services/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
}
|
200
home/toph/common/optional/hyprland/services/dunst.nix
Normal file
200
home/toph/common/optional/hyprland/services/dunst.nix
Normal file
|
@ -0,0 +1,200 @@
|
|||
#
|
||||
# Dunst
|
||||
# Notification Daemon
|
||||
#
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs) libnotify; # required by dunst
|
||||
};
|
||||
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
# waylandDisplay = ""; # set the service's WAYLAND_DISPLAY environment variable
|
||||
# configFile = "";
|
||||
iconTheme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
size = "16x16";
|
||||
};
|
||||
settings = {
|
||||
global = {
|
||||
# Allow a small subset of html markup:<b></b>, <i></i>, <s></s>, and <u></u>.
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
# If markup is not allowed, those tags will be stripped out of the message.
|
||||
allow_markup = "yes";
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# Markup is allowed
|
||||
format = "%I %s %p\\n%b";
|
||||
|
||||
#TODO dynamic fonts
|
||||
#font = "Droid Sans 12";
|
||||
alignment = "left"; # Options are "left", "center", and "right".
|
||||
|
||||
sort = "yes"; # Sort messages by urgency.
|
||||
indicate_hidden = "yes"; # Show how many messages are currently hidden (because of geometry).
|
||||
|
||||
# The frequency with which text that is longer than the notification
|
||||
# window allows bounces back and forth.
|
||||
# This option conflicts with "word_wrap".
|
||||
# Set to 0 to disable.
|
||||
bounce_freq = 5;
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60;
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = "no";
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = "no";
|
||||
|
||||
# The geometry of the window:
|
||||
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||
# The geometry of the message window.
|
||||
# The height is measured in number of notifications everything else
|
||||
# in pixels. If the width is omitted but the height is given
|
||||
# ("-geometry x2"), the message window expands over the whole screen
|
||||
# (dmenu-like). If width is 0, the window expands to the longest
|
||||
# message displayed. A positive x is measured from the left, a
|
||||
# negative from the right side of the screen. Y is measured from
|
||||
# the top and down respectevly.
|
||||
# The width can be negative. In this case the actual width is the
|
||||
# screen width minus the width defined in within the geometry option.
|
||||
geometry = "0x4-25+25";
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
shrink = "yes";
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern windowmanagers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option will be ignored.
|
||||
follow = "mouse";
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = "yes";
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20;
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = "yes";
|
||||
|
||||
# The height of a single line. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
# This adds empty space above and under the text.
|
||||
line_height = 0;
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications. Set to 0 to disable.
|
||||
separator_height = 1;
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8;
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 10;
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing windowmanager is
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 15;
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
# separator_color = "#454947";
|
||||
|
||||
# Print a notification on startup.
|
||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||
# automatically after a crash.
|
||||
|
||||
#set to true for debugging
|
||||
startup_notification = false;
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = "left";
|
||||
|
||||
width = 300;
|
||||
height = 300;
|
||||
offset = "30x50";
|
||||
#origin = "top-right";
|
||||
origin = "top-center";
|
||||
|
||||
#TODO dynamic theme colours
|
||||
# frame_color = "#dc7f41";
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = "firefox";
|
||||
};
|
||||
|
||||
frame = {
|
||||
width = 2;
|
||||
#TODO dynamic colours
|
||||
# color = "#dc7f41";
|
||||
};
|
||||
|
||||
shortcuts = {
|
||||
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||
# "mod3" and "mod4" (windows-key).
|
||||
# Xev might be helpful to find names for keys.
|
||||
|
||||
# Close notification.
|
||||
close = "mod1+space";
|
||||
|
||||
# Close all notifications.
|
||||
close_all = "ctrl+mod1+space";
|
||||
|
||||
# Redisplay last message(s).
|
||||
history = "ctrl+mod4+h";
|
||||
|
||||
# Context menu.
|
||||
context = "ctrl+mod1+c";
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
#TODO dynamic colours
|
||||
# background = "#1e1e20";
|
||||
# foreground = "#c5c8c6";
|
||||
timeout = 10;
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
#TODO dynamic colours
|
||||
# background = "#1e1e20";
|
||||
# foreground = "#c5c8c6";
|
||||
timeout = 10;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
#TODO dynamic colours
|
||||
# background = "#1e1e20";
|
||||
# foreground = "#c5c8c6";
|
||||
timeout = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
19
home/toph/common/optional/hyprland/services/gammastep.nix
Normal file
19
home/toph/common/optional/hyprland/services/gammastep.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
# Enable gammastep for night light
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
provider = "manual";
|
||||
latitude = 37.541290;
|
||||
longitude = -77.434769;
|
||||
settings = {
|
||||
general = {
|
||||
fade = 1;
|
||||
adjustment-method = "wayland";
|
||||
};
|
||||
};
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 4500;
|
||||
};
|
||||
};
|
||||
}
|
23
home/toph/common/optional/hyprland/services/hyprpaper.nix
Normal file
23
home/toph/common/optional/hyprland/services/hyprpaper.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Hyprpaper is used to set the wallpaper on the system
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# The wallpaper is set by stylix
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.playerctld = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
|
@ -47,18 +47,10 @@ in
|
|||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
desktop = 11;
|
||||
popups = 11;
|
||||
terminal = 12;
|
||||
};
|
||||
|
||||
};
|
||||
targets = {
|
||||
gnome = {
|
||||
enable = true;
|
||||
useWallpaper = true;
|
||||
};
|
||||
hyprpaper.enable = true;
|
||||
vscode = {
|
||||
enable = false;
|
||||
# profileNames = [ "Stylix" ];
|
Before Width: | Height: | Size: 6.2 MiB After Width: | Height: | Size: 6.2 MiB |
Binary file not shown.
After Width: | Height: | Size: 2.9 MiB |
|
@ -1,134 +0,0 @@
|
|||
<monitors version="2">
|
||||
<configuration>
|
||||
<layoutmode>physical</layoutmode>
|
||||
<logicalmonitor>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<transform>
|
||||
<rotation>right</rotation>
|
||||
<flipped>no</flipped>
|
||||
</transform>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>HDMI-1-2</connector>
|
||||
<vendor>DEL</vendor>
|
||||
<product>DELL U2417H</product>
|
||||
<serial>XVNNT67I176L</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>1920</width>
|
||||
<height>1080</height>
|
||||
<rate>60.000</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
<logicalmonitor>
|
||||
<x>1080</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<primary>yes</primary>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>DP-3</connector>
|
||||
<vendor>AUS</vendor>
|
||||
<product>PG42UQ</product>
|
||||
<serial>R1LMTF056092</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>3840</width>
|
||||
<height>2160</height>
|
||||
<rate>59.997</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
</configuration>
|
||||
<configuration>
|
||||
<layoutmode>physical</layoutmode>
|
||||
<logicalmonitor>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<transform>
|
||||
<rotation>right</rotation>
|
||||
<flipped>no</flipped>
|
||||
</transform>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>HDMI-2</connector>
|
||||
<vendor>DEL</vendor>
|
||||
<product>DELL U2417H</product>
|
||||
<serial>XVNNT67I176L</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>1920</width>
|
||||
<height>1080</height>
|
||||
<rate>60.000</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
<logicalmonitor>
|
||||
<x>1080</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<primary>yes</primary>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>DP-3</connector>
|
||||
<vendor>AUS</vendor>
|
||||
<product>PG42UQ</product>
|
||||
<serial>R1LMTF056092</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>3840</width>
|
||||
<height>2160</height>
|
||||
<rate>120.000</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
</configuration>
|
||||
<configuration>
|
||||
<layoutmode>physical</layoutmode>
|
||||
<logicalmonitor>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<transform>
|
||||
<rotation>right</rotation>
|
||||
<flipped>no</flipped>
|
||||
</transform>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>HDMI-A-1-1</connector>
|
||||
<vendor>DEL</vendor>
|
||||
<product>DELL U2417H</product>
|
||||
<serial>XVNNT67I176L</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>1920</width>
|
||||
<height>1080</height>
|
||||
<rate>60.000</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
<logicalmonitor>
|
||||
<x>1080</x>
|
||||
<y>0</y>
|
||||
<scale>1</scale>
|
||||
<primary>yes</primary>
|
||||
<monitor>
|
||||
<monitorspec>
|
||||
<connector>DisplayPort-2</connector>
|
||||
<vendor>AUS</vendor>
|
||||
<product>PG42UQ</product>
|
||||
<serial>R1LMTF056092</serial>
|
||||
</monitorspec>
|
||||
<mode>
|
||||
<width>3840</width>
|
||||
<height>2160</height>
|
||||
<rate>119.999</rate>
|
||||
</mode>
|
||||
</monitor>
|
||||
</logicalmonitor>
|
||||
</configuration>
|
||||
</monitors>
|
|
@ -9,15 +9,16 @@
|
|||
## Required Configs ##
|
||||
../common/core # required
|
||||
|
||||
## Optional Configs ##
|
||||
## Host-specific Optional Configs ##
|
||||
../common/optional/browsers
|
||||
../common/optional/gnome
|
||||
# ../common/optional/gnome
|
||||
../common/optional/hyprland
|
||||
../common/optional/development
|
||||
../common/optional/gaming
|
||||
../common/optional/xdg.nix
|
||||
../common/optional/xdg.nix # file associations
|
||||
|
||||
## Rune Specific ##
|
||||
./config
|
||||
## Home-specific Configs ##
|
||||
./desktop
|
||||
];
|
||||
|
||||
## Packages with no needed configs ##
|
||||
|
@ -41,6 +42,34 @@
|
|||
## Productivity ##
|
||||
gimp
|
||||
inkscape
|
||||
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
;
|
||||
};
|
||||
|
||||
monitors = [
|
||||
{
|
||||
name = "DP-1";
|
||||
x = 900;
|
||||
y = 0;
|
||||
width = 3840;
|
||||
height = 2160;
|
||||
refreshRate = 120;
|
||||
primary = true;
|
||||
scale = 1.20;
|
||||
vrr = 2;
|
||||
}
|
||||
{
|
||||
name = "HDMI-A-2";
|
||||
x = 0;
|
||||
y = 0;
|
||||
width = 1920;
|
||||
height = 1080;
|
||||
refreshRate = 60;
|
||||
primary = false;
|
||||
transform = 3;
|
||||
scale = 1.20;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -26,8 +26,4 @@
|
|||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/monitors.xml" = {
|
||||
source = ./monitors.xml;
|
||||
};
|
||||
}
|
|
@ -18,5 +18,16 @@
|
|||
wireplumber.enable = true;
|
||||
jack.enable = true;
|
||||
lowLatency.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
# media-session.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
playerctl # cli utility and lib for controlling media players
|
||||
# pamixer # cli pulseaudio sound mixer
|
||||
;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,9 +25,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
# these 2 options below were not mentioned in wiki
|
||||
|
||||
boot = {
|
||||
extraModprobeConfig = ''
|
||||
options bluetooth enable_ecred=1
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bluez-tools
|
||||
bluetuith # can transfer files via OBEX
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,13 +7,6 @@
|
|||
{
|
||||
hardware.xone.enable = true; # xbox controller
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
|
@ -38,24 +31,30 @@
|
|||
;
|
||||
|
||||
inherit (pkgs)
|
||||
gamemode
|
||||
gamescope # !!!: DO NOT ADD GAMESCOPE ANYWHERE ELSE IN CONFIG, IT WILL BREAK!
|
||||
gperftools
|
||||
keyutils
|
||||
libkrb5
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
libkrb5
|
||||
keyutils
|
||||
gperftools
|
||||
gamemode
|
||||
;
|
||||
});
|
||||
};
|
||||
extraCompatPackages = [ pkgs.unstable.proton-ge-bin ];
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
|
||||
#gamescope launch args set dynamically in home/<user>/common/optional/gaming
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
# to run steam games in game mode, add the following to the game's properties from within steam
|
||||
# gamemoderun %command%
|
||||
gamemode = {
|
||||
enable = true;
|
||||
settings = {
|
||||
#see gamemode man page for settings info
|
||||
general = {
|
||||
softrealtime = "auto";
|
||||
inhibit_screensaver = 1;
|
||||
|
@ -74,5 +73,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
# gamescope --adaptive-sync --backend sdl --expose-wayland --force-grab-cursor --framerate-limit 120 --immediate-flips --output-height 2160 --output-width 3840 --prefer-output DP-1 --rt -- gamemoderun %command%
|
||||
|
|
|
@ -1,18 +1,12 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
displayManager.gdm.enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
displayManager = {
|
||||
gdm.enable = true;
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = config.hostSpec.username;
|
||||
};
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
xkb = {
|
||||
|
@ -21,26 +15,22 @@
|
|||
};
|
||||
};
|
||||
|
||||
#INFO: Fix for autoLogin
|
||||
systemd.services."getty@tty1".enable = false;
|
||||
systemd.services."autovt@tty1".enable = false;
|
||||
|
||||
services.udev.packages = with pkgs; [ gnome-settings-daemon ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome-tweaks
|
||||
gnomeExtensions.alphabetical-app-grid
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.blur-my-shell
|
||||
gnomeExtensions.clipboard-indicator
|
||||
gnomeExtensions.color-picker
|
||||
gnomeExtensions.control-monitor-brightness-and-volume-with-ddcutil
|
||||
gnomeExtensions.dash-in-panel
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.pano
|
||||
gnomeExtensions.paperwm
|
||||
gnomeExtensions.dash-to-panel
|
||||
gnomeExtensions.tiling-shell
|
||||
gnomeExtensions.vitals
|
||||
# gnomeExtensions.just-perfection
|
||||
gnomeExtensions.alphabetical-app-grid
|
||||
gnomeExtensions.quick-settings-audio-devices-hider
|
||||
gnomeExtensions.quick-settings-audio-devices-renamer
|
||||
gnomeExtensions.undecorate
|
||||
gnomeExtensions.vitals
|
||||
];
|
||||
|
||||
## Exclusions ##
|
||||
|
@ -48,20 +38,14 @@
|
|||
environment.gnome.excludePackages = (
|
||||
with pkgs;
|
||||
[
|
||||
atomix
|
||||
baobab
|
||||
epiphany
|
||||
# evince
|
||||
geary
|
||||
gedit
|
||||
gnome-console
|
||||
gnome-contacts
|
||||
atomix # puzzle game
|
||||
epiphany # web browser
|
||||
evince # document viewer
|
||||
gedit # text editor
|
||||
gnome-maps
|
||||
gnome-music
|
||||
gnome-photos
|
||||
gnome-terminal
|
||||
gnome-tour
|
||||
gnome-user-docs
|
||||
gnomeExtensions.applications-menu
|
||||
gnomeExtensions.launch-new-instance
|
||||
gnomeExtensions.light-style
|
||||
|
@ -70,10 +54,9 @@
|
|||
gnomeExtensions.system-monitor
|
||||
gnomeExtensions.window-list
|
||||
gnomeExtensions.windownavigator
|
||||
hitori
|
||||
iagno
|
||||
simple-scan
|
||||
tali
|
||||
hitori # sudoku game
|
||||
iagno # go game
|
||||
tali # poker game
|
||||
yelp
|
||||
]
|
||||
);
|
||||
|
|
20
hosts/global/common/hyprland/default.nix
Normal file
20
hosts/global/common/hyprland/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
imports = lib.custom.scanPaths ./.;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
inputs.rose-pine-hyprcursor.packages.${pkgs.system}.default
|
||||
inputs.better-control.packages.${pkgs.system}.better-control
|
||||
];
|
||||
}
|
16
hosts/global/common/hyprland/foot.nix
Normal file
16
hosts/global/common/hyprland/foot.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "monospace:size=10";
|
||||
dpi-aware = "yes";
|
||||
};
|
||||
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
24
hosts/global/common/hyprland/gnome-services.nix
Normal file
24
hosts/global/common/hyprland/gnome-services.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
file-roller
|
||||
nautilus
|
||||
nautilus-open-any-terminal
|
||||
sushi
|
||||
];
|
||||
|
||||
services = {
|
||||
# needed for GNOME services outside of GNOME Desktop
|
||||
dbus.packages = with pkgs; [
|
||||
gcr
|
||||
gnome-keyring
|
||||
gnome-settings-daemon
|
||||
gvfs
|
||||
];
|
||||
|
||||
gnome.gnome-keyring.enable = true;
|
||||
|
||||
gvfs.enable = true;
|
||||
};
|
||||
}
|
36
hosts/global/common/hyprland/greetd.nix
Normal file
36
hosts/global/common/hyprland/greetd.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
#
|
||||
# greeter -> tuigreet https://github.com/apognu/tuigreet?tab=readme-ov-file
|
||||
# display manager -> greetd https://man.sr.ht/~kennylevinsen/greetd/
|
||||
#
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
user = config.hostSpec.username;
|
||||
default = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks --time --time-format '%I:%M %p | %a • %h | %F' --cmd uwsm start default";
|
||||
user = user;
|
||||
};
|
||||
initial = {
|
||||
# command = "${pkgs.hyprland}/bin/Hyprland";
|
||||
command = "uwsm start default";
|
||||
user = user;
|
||||
};
|
||||
in
|
||||
{
|
||||
# environment.systemPackages = [ pkgs.greetd.tuigreet ];
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
|
||||
restart = true;
|
||||
settings = rec {
|
||||
default_session = default;
|
||||
initial_session = initial;
|
||||
};
|
||||
};
|
||||
}
|
22
hosts/global/common/hyprland/wayland.nix
Normal file
22
hosts/global/common/hyprland/wayland.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# general packages related to wayland
|
||||
environment.systemPackages = with pkgs; [
|
||||
grim # screen capture component, required by flameshot
|
||||
waypaper # wayland packages(nitrogen analog for wayland)
|
||||
swww # backend wallpaper daemon required by waypaper
|
||||
wl-clipboard-rs
|
||||
wlr-randr
|
||||
];
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
# pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
# configPackages = [ pkgs.hyprland ];
|
||||
# config.common.default = "*";
|
||||
};
|
||||
}
|
|
@ -37,7 +37,8 @@ in
|
|||
"hosts/global/common/bluetooth.nix"
|
||||
"hosts/global/common/ddcutil.nix" # ddcutil for monitor controls
|
||||
"hosts/global/common/gaming.nix" # steam, gamescope, gamemode, and related hardware
|
||||
"hosts/global/common/gnome.nix"
|
||||
# "hosts/global/common/gnome.nix" # desktop
|
||||
"hosts/global/common/hyprland" # desktop
|
||||
"hosts/global/common/libvirt.nix" # vm tools
|
||||
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
|
||||
"hosts/global/common/plymouth.nix" # fancy boot screen
|
||||
|
|
BIN
secrets.nix
BIN
secrets.nix
Binary file not shown.
Loading…
Add table
Reference in a new issue