stuff
This commit is contained in:
parent
49cca73363
commit
c05813575f
40 changed files with 2364 additions and 526 deletions
|
|
@ -48,7 +48,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
protonup
|
protonup-ng
|
||||||
steam-devices-udev-rules
|
steam-devices-udev-rules
|
||||||
scanmem
|
scanmem
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ _: {
|
||||||
10.147.17.246 uptime.zerotier.gwg313.xyz
|
10.147.17.246 uptime.zerotier.gwg313.xyz
|
||||||
10.147.17.246 hdoc.zerotier.gwg313.xyz
|
10.147.17.246 hdoc.zerotier.gwg313.xyz
|
||||||
10.147.17.246 cache.zerotier.gwg313.xyz
|
10.147.17.246 cache.zerotier.gwg313.xyz
|
||||||
10.147.17.246 a3-dev.zerotier.gwg313.xyz
|
10.147.17.246 pm.zerotier.gwg313.xyz
|
||||||
10.147.17.246 argocd.zerotier.gwg313.xyz
|
10.147.17.246 argocd.zerotier.gwg313.xyz
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -33,6 +33,6 @@ _: {
|
||||||
10.1.10.9 uptime.gwg313.xyz
|
10.1.10.9 uptime.gwg313.xyz
|
||||||
10.1.10.50 hdoc.gwg313.xyz
|
10.1.10.50 hdoc.gwg313.xyz
|
||||||
10.1.10.13 cache.gwg313.xyz
|
10.1.10.13 cache.gwg313.xyz
|
||||||
10.1.10.50 a3-dev.gwg313.xyz
|
10.1.10.50 pm.gwg313.xyz
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
# environment.systemPackages = with pkgs; [ linuxKernel.packages.linux_5_4.wireguard ];
|
||||||
environment.systemPackages = with pkgs; [ linuxKernel.packages.linux_5_4.wireguard ];
|
|
||||||
|
|
||||||
sops.secrets."wireless.env" = { };
|
sops.secrets."wireless.env" = { };
|
||||||
networking = {
|
networking = {
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-emoji;
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
config.stylix = {
|
config.stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
targets.zen-browser.profileNames = [ "Default Profile" ];
|
||||||
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||||
base16Scheme = {
|
base16Scheme = {
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-emoji;
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
};
|
};
|
||||||
sizes = {
|
sizes = {
|
||||||
|
|
@ -90,6 +90,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
polarity = "light";
|
polarity = "light";
|
||||||
image = ../../../wallpapers/oasis.png;
|
image = lib.mkForce ../../../wallpapers/oasis.png;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1397
flake.lock
generated
1397
flake.lock
generated
File diff suppressed because it is too large
Load diff
21
flake.nix
21
flake.nix
|
|
@ -17,7 +17,11 @@
|
||||||
hyprspace = {
|
hyprspace = {
|
||||||
url = "github:KZDKM/Hyprspace";
|
url = "github:KZDKM/Hyprspace";
|
||||||
};
|
};
|
||||||
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
|
noctalia = {
|
||||||
|
url = "github:noctalia-dev/noctalia-shell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -66,6 +70,19 @@
|
||||||
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
||||||
pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
colmena.url = "github:zhaofengli/colmena";
|
colmena.url = "github:zhaofengli/colmena";
|
||||||
|
vicinae.url = "github:vicinaehq/vicinae";
|
||||||
|
vicinae-extensions = {
|
||||||
|
url = "github:vicinaehq/extensions";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
caelestia-shell = {
|
||||||
|
url = "github:caelestia-dots/shell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
caelestia-cli = {
|
||||||
|
url = "github:caelestia-dots/cli";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
@ -75,6 +92,7 @@
|
||||||
home-manager,
|
home-manager,
|
||||||
colmena,
|
colmena,
|
||||||
nix-ld,
|
nix-ld,
|
||||||
|
vicinae,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
|
@ -197,6 +215,7 @@
|
||||||
./home-manager/machines/candlekeep.nix
|
./home-manager/machines/candlekeep.nix
|
||||||
inputs.nixcord.homeModules.nixcord
|
inputs.nixcord.homeModules.nixcord
|
||||||
inputs.stylix.homeModules.stylix
|
inputs.stylix.homeModules.stylix
|
||||||
|
inputs.vicinae.homeManagerModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -26,12 +26,14 @@
|
||||||
../modules/common.nix
|
../modules/common.nix
|
||||||
../../common/style/vars/vars.nix
|
../../common/style/vars/vars.nix
|
||||||
../modules/hyprland
|
../modules/hyprland
|
||||||
|
# ../modules/niri
|
||||||
../modules/common-gui.nix
|
../modules/common-gui.nix
|
||||||
../modules/linux-gui.nix
|
../modules/linux-gui.nix
|
||||||
../modules/devenv.nix
|
../modules/devenv.nix
|
||||||
../modules/ssh.nix
|
../modules/ssh.nix
|
||||||
../modules/gh-dash.nix
|
../modules/gh-dash.nix
|
||||||
../modules/ags.nix
|
../modules/ags.nix
|
||||||
|
../modules/vesktop.nix
|
||||||
# ../modules/neovim
|
# ../modules/neovim
|
||||||
../modules/yazi.nix
|
../modules/yazi.nix
|
||||||
# ../modules/hyprpanel.nix
|
# ../modules/hyprpanel.nix
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
# You can import other home-manager modules here
|
# You can import other home-manager modules here
|
||||||
imports = [
|
imports = [
|
||||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
# If you want to use modules your own flake exports (from modules/home-manager):
|
||||||
|
|
@ -80,7 +81,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-emoji;
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
51
home-manager/modules/caelestia-shell/appearance.nix
Normal file
51
home-manager/modules/caelestia-shell/appearance.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
rounding = config.theme.rounding + config.theme.gaps-out;
|
||||||
|
inherit (config.stylix) fonts;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
papirus-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.caelestia.settings = {
|
||||||
|
paths.sessionGif = ./session-gif-hacker-cat.gif;
|
||||||
|
background.enabled = true;
|
||||||
|
appearance = {
|
||||||
|
transparency = {
|
||||||
|
enable = true;
|
||||||
|
base = 0.85;
|
||||||
|
layers = 0.4;
|
||||||
|
};
|
||||||
|
font.family = {
|
||||||
|
material = "Material Symbols Rounded";
|
||||||
|
mono = fonts.monospace.name;
|
||||||
|
sans = fonts.sansSerif.name;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
utilities = {
|
||||||
|
enabled = true;
|
||||||
|
maxToasts = 4;
|
||||||
|
toasts = {
|
||||||
|
audioInputChanged = true;
|
||||||
|
audioOutputChanged = true;
|
||||||
|
capsLockChanged = false;
|
||||||
|
chargingChanged = true;
|
||||||
|
configLoaded = false;
|
||||||
|
dndChanged = true;
|
||||||
|
gameModeChanged = true;
|
||||||
|
numLockChanged = false;
|
||||||
|
nowPlaying = false;
|
||||||
|
kbLayoutChanged = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
inherit rounding;
|
||||||
|
thickness = 8;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
69
home-manager/modules/caelestia-shell/bar.nix
Normal file
69
home-manager/modules/caelestia-shell/bar.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
programs.caelestia.settings.bar = {
|
||||||
|
clock.showIcon = false;
|
||||||
|
popouts.activeWindow = false;
|
||||||
|
persistent = true;
|
||||||
|
status = {
|
||||||
|
showBattery = true;
|
||||||
|
showMicrophone = false;
|
||||||
|
showLockStatus = false;
|
||||||
|
showBluetooth = true;
|
||||||
|
showAudio = true;
|
||||||
|
showKbLayout = false;
|
||||||
|
showNetwork = true;
|
||||||
|
};
|
||||||
|
workspaces = {
|
||||||
|
activeIndicator = true;
|
||||||
|
activeLabel = " ";
|
||||||
|
activeTrail = false;
|
||||||
|
label = " ";
|
||||||
|
occupiedBg = true;
|
||||||
|
occupiedLabel = " ";
|
||||||
|
rounded = true;
|
||||||
|
showWindows = false;
|
||||||
|
shown = 5;
|
||||||
|
};
|
||||||
|
entries = [
|
||||||
|
{
|
||||||
|
id = "logo";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "workspaces";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "spacer";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "activeWindow";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "spacer";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "tray";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "clock";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "statusIcons";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "power";
|
||||||
|
enabled = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
tray = {
|
||||||
|
background = false;
|
||||||
|
recolour = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
58
home-manager/modules/caelestia-shell/bindings.nix
Normal file
58
home-manager/modules/caelestia-shell/bindings.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
bindin = [
|
||||||
|
# Launcher
|
||||||
|
"$mod, mouse:272, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:273, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:274, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:275, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:276, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:277, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse_up, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse_down, global, caelestia:launcherInterrupt"
|
||||||
|
];
|
||||||
|
bind = [
|
||||||
|
# Launcher
|
||||||
|
"$mod, SPACE, global, caelestia:launcher"
|
||||||
|
"$mod, X, global, caelestia:session" # Powermenu
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
"$mod, L, global, caelestia:lock"
|
||||||
|
"$mod, N, exec, caelestia shell drawers toggle sidebar"
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
"$mod+Shift, SPACE, exec, caelestia shell gameMode toggle" # Toggle Focus/Game mode
|
||||||
|
"$mod+Shift, S, global, caelestia:screenshotFreeze" # Capture region (freeze)
|
||||||
|
"$mod+Shift+Alt, S, global, caelestia:screenshot" # Capture region
|
||||||
|
"$mod+Alt, R, exec, caelestia record -s" # Record screen with sound
|
||||||
|
"Ctrl+Alt, R, exec, caelestia record" # Record screen
|
||||||
|
"$mod+Shift+Alt, R, exec, caelestia record -r" # Record region
|
||||||
|
|
||||||
|
"$mod+Shift, E, exec, pkill fuzzel || caelestia emoji -p"
|
||||||
|
];
|
||||||
|
bindl = [
|
||||||
|
# Brightness
|
||||||
|
", XF86MonBrightnessUp, global, caelestia:brightnessUp"
|
||||||
|
", XF86MonBrightnessDown, global, caelestia:brightnessDown"
|
||||||
|
"$mod, F2, exec, nightshift-toggle"
|
||||||
|
"$mod, F3, exec, nightshift-toggle"
|
||||||
|
|
||||||
|
# Media
|
||||||
|
", XF86AudioPlay, global, caelestia:mediaToggle"
|
||||||
|
", XF86AudioPause, global, caelestia:mediaToggle"
|
||||||
|
", XF86AudioNext, global, caelestia:mediaNext"
|
||||||
|
", XF86AudioPrev, global, caelestia:mediaPrev"
|
||||||
|
", XF86AudioStop, global, caelestia:mediaStop"
|
||||||
|
|
||||||
|
# Sound
|
||||||
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
", Print, exec, caelestia screenshot" # Full screen capture > clipboard
|
||||||
|
];
|
||||||
|
bindle = [
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
62
home-manager/modules/caelestia-shell/default.nix
Normal file
62
home-manager/modules/caelestia-shell/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.caelestia-shell.homeManagerModules.default
|
||||||
|
./bindings.nix
|
||||||
|
./bar.nix
|
||||||
|
./launcher.nix
|
||||||
|
./appearance.nix
|
||||||
|
./scheme.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.caelestia = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = false;
|
||||||
|
settings = {
|
||||||
|
services.weatherLocation = "Ottawa";
|
||||||
|
services.useFahrenheit = false;
|
||||||
|
general = {
|
||||||
|
apps = {
|
||||||
|
terminal = [ "ghostty" ];
|
||||||
|
audio = [ "pavucontrol" ];
|
||||||
|
explorer = [ "thunar" ];
|
||||||
|
};
|
||||||
|
idle = {
|
||||||
|
timeouts = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cli = {
|
||||||
|
enable = true;
|
||||||
|
settings.theme = {
|
||||||
|
enableTerm = false;
|
||||||
|
enableDiscord = false;
|
||||||
|
enableSpicetify = false;
|
||||||
|
enableBtop = false;
|
||||||
|
enableCava = false;
|
||||||
|
enableHypr = false;
|
||||||
|
enableGtk = false;
|
||||||
|
enableQt = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gpu-screen-recorder
|
||||||
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
|
"uwsm app -- caelestia resizer -d"
|
||||||
|
"uwsm app -- caelestia shell -d"
|
||||||
|
"caelestia scheme set -n custom"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.cliphist = {
|
||||||
|
enable = true;
|
||||||
|
allowImages = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
174
home-manager/modules/caelestia-shell/launcher.nix
Normal file
174
home-manager/modules/caelestia-shell/launcher.nix
Normal file
|
|
@ -0,0 +1,174 @@
|
||||||
|
{
|
||||||
|
programs.caelestia.settings = {
|
||||||
|
session.commands = {
|
||||||
|
logout = [
|
||||||
|
"loginctl"
|
||||||
|
"terminate-user"
|
||||||
|
""
|
||||||
|
];
|
||||||
|
shutdown = [
|
||||||
|
"systemctl"
|
||||||
|
"poweroff"
|
||||||
|
];
|
||||||
|
hibernate = [
|
||||||
|
"systemctl"
|
||||||
|
"hibernate"
|
||||||
|
];
|
||||||
|
reboot = [
|
||||||
|
"systemctl"
|
||||||
|
"reboot"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
launcher = {
|
||||||
|
actionPrefix = "/";
|
||||||
|
actions = [
|
||||||
|
{
|
||||||
|
name = "Calculator";
|
||||||
|
icon = "calculate";
|
||||||
|
description = "Do simple math equations (powered by Qalc)";
|
||||||
|
command = [
|
||||||
|
"autocomplete"
|
||||||
|
"calc"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Shutdown";
|
||||||
|
icon = "power_settings_new";
|
||||||
|
description = "Shutdown the system";
|
||||||
|
command = [
|
||||||
|
"systemctl"
|
||||||
|
"poweroff"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Reboot";
|
||||||
|
icon = "cached";
|
||||||
|
description = "Reboot the system";
|
||||||
|
command = [
|
||||||
|
"systemctl"
|
||||||
|
"reboot"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Logout";
|
||||||
|
icon = "exit_to_app";
|
||||||
|
description = "Log out of the current session";
|
||||||
|
command = [
|
||||||
|
"loginctl"
|
||||||
|
"terminate-user"
|
||||||
|
""
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Lock";
|
||||||
|
icon = "lock";
|
||||||
|
description = "Lock the current session";
|
||||||
|
command = [
|
||||||
|
"loginctl"
|
||||||
|
"lock-session"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Sleep";
|
||||||
|
icon = "bedtime";
|
||||||
|
description = "Suspend then hibernate";
|
||||||
|
command = [
|
||||||
|
"systemctl"
|
||||||
|
"suspend-then-hibernate"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Restart caelestia";
|
||||||
|
icon = "cached";
|
||||||
|
description = "Restart caelestia";
|
||||||
|
command = [
|
||||||
|
"hyprctl"
|
||||||
|
"dispatch"
|
||||||
|
"exec"
|
||||||
|
"caelestia-shell kill | sleep 1 | caelestia-shell"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Emoji Picker";
|
||||||
|
icon = "mood";
|
||||||
|
description = "Toggle the emoji picker";
|
||||||
|
command = [
|
||||||
|
"caelestia"
|
||||||
|
"emoji"
|
||||||
|
"-p"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Clipboard History";
|
||||||
|
icon = "content_paste";
|
||||||
|
description = "Toggle the clipboard history";
|
||||||
|
command = [
|
||||||
|
"caelestia"
|
||||||
|
"clipboard"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Delete from Clipboard History";
|
||||||
|
icon = "content_paste_off";
|
||||||
|
description = "Delete a line from the clipboard history";
|
||||||
|
command = [
|
||||||
|
"caelestia"
|
||||||
|
"clipboard"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Night Shift";
|
||||||
|
icon = "moon_stars";
|
||||||
|
description = "Toggle Night Shift, the blue light filter";
|
||||||
|
command = [ "nightshift-toggle" ];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Hyprpicker";
|
||||||
|
icon = "colorize";
|
||||||
|
description = "Pick an hex color";
|
||||||
|
command = [
|
||||||
|
"hyprpicker"
|
||||||
|
"-a"
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
dragThreshold = 50;
|
||||||
|
enableDangerousActions = false;
|
||||||
|
maxShown = 7;
|
||||||
|
specialPrefix = "@";
|
||||||
|
useFuzzy = {
|
||||||
|
apps = false;
|
||||||
|
actions = false;
|
||||||
|
schemes = false;
|
||||||
|
variants = false;
|
||||||
|
wallpapers = false;
|
||||||
|
};
|
||||||
|
showOnHover = false;
|
||||||
|
hiddenApps = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
135
home-manager/modules/caelestia-shell/scheme.nix
Normal file
135
home-manager/modules/caelestia-shell/scheme.nix
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
colors = config.lib.stylix.colors;
|
||||||
|
|
||||||
|
customSchemeFile = pkgs.writeText "custom-dark.txt" ''
|
||||||
|
primary_paletteKeyColor ${colors.base0D}
|
||||||
|
secondary_paletteKeyColor ${colors.base04}
|
||||||
|
tertiary_paletteKeyColor ${colors.base08}
|
||||||
|
neutral_paletteKeyColor ${colors.base03}
|
||||||
|
neutral_variant_paletteKeyColor ${colors.base03}
|
||||||
|
background ${colors.base00}
|
||||||
|
onBackground ${colors.base05}
|
||||||
|
surface ${colors.base00}
|
||||||
|
surfaceDim ${colors.base00}
|
||||||
|
surfaceBright ${colors.base02}
|
||||||
|
surfaceContainerLowest ${colors.base01}
|
||||||
|
surfaceContainerLow ${colors.base01}
|
||||||
|
surfaceContainer ${colors.base01}
|
||||||
|
surfaceContainerHigh ${colors.base02}
|
||||||
|
surfaceContainerHighest ${colors.base02}
|
||||||
|
onSurface ${colors.base05}
|
||||||
|
surfaceVariant ${colors.base02}
|
||||||
|
onSurfaceVariant ${colors.base04}
|
||||||
|
inverseSurface ${colors.base05}
|
||||||
|
inverseOnSurface ${colors.base00}
|
||||||
|
outline ${colors.base03}
|
||||||
|
outlineVariant ${colors.base02}
|
||||||
|
shadow ${colors.base00}
|
||||||
|
scrim ${colors.base00}
|
||||||
|
surfaceTint ${colors.base0D}
|
||||||
|
primary ${colors.base0D}
|
||||||
|
onPrimary ${colors.base00}
|
||||||
|
primaryContainer ${colors.base0D}
|
||||||
|
onPrimaryContainer ${colors.base05}
|
||||||
|
inversePrimary ${colors.base0D}
|
||||||
|
secondary ${colors.base0C}
|
||||||
|
onSecondary ${colors.base00}
|
||||||
|
secondaryContainer ${colors.base02}
|
||||||
|
onSecondaryContainer ${colors.base0C}
|
||||||
|
tertiary ${colors.base08}
|
||||||
|
onTertiary ${colors.base00}
|
||||||
|
tertiaryContainer ${colors.base08}
|
||||||
|
onTertiaryContainer ${colors.base00}
|
||||||
|
error ${colors.base08}
|
||||||
|
onError ${colors.base00}
|
||||||
|
errorContainer ${colors.base08}
|
||||||
|
onErrorContainer ${colors.base05}
|
||||||
|
primaryFixed ${colors.base0D}
|
||||||
|
primaryFixedDim ${colors.base0D}
|
||||||
|
onPrimaryFixed ${colors.base00}
|
||||||
|
onPrimaryFixedVariant ${colors.base00}
|
||||||
|
secondaryFixed ${colors.base0C}
|
||||||
|
secondaryFixedDim ${colors.base0C}
|
||||||
|
onSecondaryFixed ${colors.base00}
|
||||||
|
onSecondaryFixedVariant ${colors.base02}
|
||||||
|
tertiaryFixed ${colors.base08}
|
||||||
|
tertiaryFixedDim ${colors.base08}
|
||||||
|
onTertiaryFixed ${colors.base00}
|
||||||
|
onTertiaryFixedVariant ${colors.base00}
|
||||||
|
term0 ${colors.base00}
|
||||||
|
term1 ${colors.base08}
|
||||||
|
term2 ${colors.base0B}
|
||||||
|
term3 ${colors.base0A}
|
||||||
|
term4 ${colors.base0D}
|
||||||
|
term5 ${colors.base0E}
|
||||||
|
term6 ${colors.base0C}
|
||||||
|
term7 ${colors.base05}
|
||||||
|
term8 ${colors.base03}
|
||||||
|
term9 ${colors.base08}
|
||||||
|
term10 ${colors.base0B}
|
||||||
|
term11 ${colors.base0A}
|
||||||
|
term12 ${colors.base0D}
|
||||||
|
term13 ${colors.base0E}
|
||||||
|
term14 ${colors.base0C}
|
||||||
|
term15 ${colors.base07}
|
||||||
|
rosewater ${colors.base06}
|
||||||
|
flamingo ${colors.base0F}
|
||||||
|
pink ${colors.base0E}
|
||||||
|
mauve ${colors.base0D}
|
||||||
|
red ${colors.base08}
|
||||||
|
maroon ${colors.base08}
|
||||||
|
peach ${colors.base09}
|
||||||
|
yellow ${colors.base0A}
|
||||||
|
green ${colors.base0B}
|
||||||
|
teal ${colors.base0C}
|
||||||
|
sky ${colors.base0C}
|
||||||
|
sapphire ${colors.base0C}
|
||||||
|
blue ${colors.base0D}
|
||||||
|
lavender ${colors.base0D}
|
||||||
|
klink ${colors.base0D}
|
||||||
|
klinkSelection ${colors.base0D}
|
||||||
|
kvisited ${colors.base0E}
|
||||||
|
kvisitedSelection ${colors.base0E}
|
||||||
|
knegative ${colors.base08}
|
||||||
|
knegativeSelection ${colors.base08}
|
||||||
|
kneutral ${colors.base0A}
|
||||||
|
kneutralSelection ${colors.base0A}
|
||||||
|
kpositive ${colors.base0B}
|
||||||
|
kpositiveSelection ${colors.base0B}
|
||||||
|
text ${colors.base05}
|
||||||
|
subtext1 ${colors.base04}
|
||||||
|
subtext0 ${colors.base03}
|
||||||
|
overlay2 ${colors.base03}
|
||||||
|
overlay1 ${colors.base03}
|
||||||
|
overlay0 ${colors.base02}
|
||||||
|
surface2 ${colors.base02}
|
||||||
|
surface1 ${colors.base01}
|
||||||
|
surface0 ${colors.base01}
|
||||||
|
base ${colors.base00}
|
||||||
|
mantle ${colors.base00}
|
||||||
|
crust ${colors.base00}
|
||||||
|
success ${colors.base0B}
|
||||||
|
onSuccess ${colors.base00}
|
||||||
|
successContainer ${colors.base0B}
|
||||||
|
onSuccessContainer ${colors.base05}
|
||||||
|
'';
|
||||||
|
|
||||||
|
customCli =
|
||||||
|
inputs.caelestia-cli.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs
|
||||||
|
(oldAttrs: {
|
||||||
|
postUnpack = ''
|
||||||
|
mkdir -p $sourceRoot/src/caelestia/data/schemes/custom/main
|
||||||
|
cp ${customSchemeFile} $sourceRoot/src/caelestia/data/schemes/custom/main/dark.txt
|
||||||
|
echo "Custom scheme added to source"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.caelestia.cli.package = customCli;
|
||||||
|
}
|
||||||
BIN
home-manager/modules/caelestia-shell/session-gif-hacker-cat.gif
Normal file
BIN
home-manager/modules/caelestia-shell/session-gif-hacker-cat.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
|
|
@ -10,6 +10,8 @@
|
||||||
./zen.nix
|
./zen.nix
|
||||||
./mime.nix
|
./mime.nix
|
||||||
./nixcord.nix
|
./nixcord.nix
|
||||||
|
# ./vicinae.nix
|
||||||
|
./caelestia-shell
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
@ -22,8 +24,10 @@
|
||||||
nerd-fonts.monaspace
|
nerd-fonts.monaspace
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
rPackages.fontawesome
|
rPackages.fontawesome
|
||||||
ubuntu_font_family
|
ubuntu-classic
|
||||||
yt-dlp
|
yt-dlp
|
||||||
mochi
|
# mochi TODO: reenable when fixed
|
||||||
|
jetbrains.idea
|
||||||
|
wpsoffice
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
minio-client
|
minio-client
|
||||||
kanata
|
kanata
|
||||||
yatto
|
yatto
|
||||||
|
ticktick
|
||||||
|
|
||||||
# Editors
|
# Editors
|
||||||
# neovim # Improved version of vim, often used with overlays.
|
# neovim # Improved version of vim, often used with overlays.
|
||||||
|
|
@ -43,7 +44,7 @@
|
||||||
# Builtin Replacements
|
# Builtin Replacements
|
||||||
bottom # Similar to 'htop,' providing a top-like interface with additional features.
|
bottom # Similar to 'htop,' providing a top-like interface with additional features.
|
||||||
colordiff # Tool to colorize 'diff' output, making differences between files easier to spot.
|
colordiff # Tool to colorize 'diff' output, making differences between files easier to spot.
|
||||||
du-dust # Modern replacement for 'du,' offering intuitive and visually appealing disk usage analysis.
|
dust # Modern replacement for 'du,' offering intuitive and visually appealing disk usage analysis.
|
||||||
duf # Disk Usage/Free utility with a user-friendly interface for visualizing disk space consumption and information.
|
duf # Disk Usage/Free utility with a user-friendly interface for visualizing disk space consumption and information.
|
||||||
eza # Modern replacement for 'ls' with additional features and a user-friendly interface.
|
eza # Modern replacement for 'ls' with additional features and a user-friendly interface.
|
||||||
fd # Faster and user-friendly alternative to 'find' for searching and locating files.
|
fd # Faster and user-friendly alternative to 'find' for searching and locating files.
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,20 @@
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
installVimSyntax = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
window-padding-x = 10;
|
||||||
|
window-padding-y = 10;
|
||||||
auto-update = "off";
|
auto-update = "off";
|
||||||
|
working-directory = "home";
|
||||||
|
window-inherit-working-directory = false; # avoid inheritance
|
||||||
|
keybinds = [ ];
|
||||||
# background-opacity = 0.8;
|
# background-opacity = 0.8;
|
||||||
background-opacity = 1;
|
background-opacity = 1;
|
||||||
confirm-close-surface = false;
|
confirm-close-surface = false;
|
||||||
# font-family = lib.mkForce "Comic Code Ligatures";
|
font-family = lib.mkForce "Comic Code Ligatures";
|
||||||
font-family = lib.mkForce "Terminus";
|
# font-family = lib.mkForce "Terminus";
|
||||||
font-size = 9;
|
font-size = 14;
|
||||||
gtk-titlebar = false;
|
gtk-titlebar = false;
|
||||||
# theme = "Teerb";
|
# theme = "Teerb";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -10,55 +10,55 @@
|
||||||
|
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
|
|
||||||
bind =
|
bind = [
|
||||||
[
|
# general binds
|
||||||
# general binds
|
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
"$mod,RETURN, exec, uwsm app -- ${pkgs.ghostty}/bin/ghostty" # Ghostty (terminal)
|
||||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
# "$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
"$mod,E, exec, uwsm app -- ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
||||||
"$mod,E, exec, uwsm app -- ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
"$mod, Q, killactive"
|
||||||
"$mod, Q, killactive"
|
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
# "$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
# "$mod, SPACE, exec, vicinae toggle"
|
||||||
"$mod,T, togglefloating," # Toggle Floating
|
"$mod,T, togglefloating," # Toggle Floating
|
||||||
# "$mod, F, fullscreen"
|
# "$mod, F, fullscreen"
|
||||||
"$mod,F, fullscreen" # Toggle fullscreen
|
"$mod,F, fullscreen" # Toggle fullscreen
|
||||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||||
|
|
||||||
"$shiftMod,T, exec, hyprpanel-toggle" # Toggle hyprpanel
|
"$shiftMod,T, exec, hyprpanel-toggle" # Toggle hyprpanel
|
||||||
|
|
||||||
"$shiftMod,up, focusmonitor, -1" # Focus previous monitor
|
"$shiftMod,up, focusmonitor, -1" # Focus previous monitor
|
||||||
"$shiftMod,down, focusmonitor, 1" # Focus next monitor
|
"$shiftMod,down, focusmonitor, 1" # Focus next monitor
|
||||||
"$shiftMod,left, layoutmsg, addmaster" # Add to master
|
"$shiftMod,left, layoutmsg, addmaster" # Add to master
|
||||||
"$shiftMod,right, layoutmsg, removemaster" # Remove from master
|
"$shiftMod,right, layoutmsg, removemaster" # Remove from master
|
||||||
|
|
||||||
# move focus
|
# move focus
|
||||||
"$mod, left, movefocus, l"
|
"$mod, left, movefocus, l"
|
||||||
"$mod, right, movefocus, r"
|
"$mod, right, movefocus, r"
|
||||||
"$mod, up, movefocus, u"
|
"$mod, up, movefocus, u"
|
||||||
"$mod, down, movefocus, d"
|
"$mod, down, movefocus, d"
|
||||||
"$mod,right,workspace,+1"
|
"$mod,right,workspace,+1"
|
||||||
"$mod,left,workspace,-1"
|
"$mod,left,workspace,-1"
|
||||||
|
|
||||||
# Scroll through workspaces
|
# Scroll through workspaces
|
||||||
"$mod, mouse_down, workspace, e+1"
|
"$mod, mouse_down, workspace, e+1"
|
||||||
"$mod, mouse_up, workspace, e-1"
|
"$mod, mouse_up, workspace, e-1"
|
||||||
]
|
]
|
||||||
++ (builtins.concatLists (
|
++ (builtins.concatLists (
|
||||||
builtins.genList (
|
builtins.genList (
|
||||||
i:
|
i:
|
||||||
let
|
let
|
||||||
ws = i + 1;
|
ws = i + 1;
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
"$mod,code:1${toString i}, workspace, ${toString ws}"
|
"$mod,code:1${toString i}, workspace, ${toString ws}"
|
||||||
"$mod SHIFT,code:1${toString i}, movetoworkspace, ${toString ws}"
|
"$mod SHIFT,code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||||
]
|
]
|
||||||
) 9
|
) 9
|
||||||
));
|
));
|
||||||
|
|
||||||
bindl = [
|
bindl = [
|
||||||
",XF86AudioMute, exec, sound-toggle" # Toggle Mute
|
",XF86AudioMute, exec, sound-toggle" # Toggle Mute
|
||||||
|
|
|
||||||
|
|
@ -23,15 +23,17 @@ in
|
||||||
./bindings.nix
|
./bindings.nix
|
||||||
./polkitagent.nix
|
./polkitagent.nix
|
||||||
# ./hyprspace.nix
|
# ./hyprspace.nix
|
||||||
./hyprpanel.nix
|
# ./hyprpanel.nix
|
||||||
./hyprlock.nix
|
# ./hyprlock.nix
|
||||||
|
./hyprpaper.nix
|
||||||
|
../caelestia-shell
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
qt5.qtwayland
|
qt5.qtwayland
|
||||||
qt6.qtwayland
|
qt6.qtwayland
|
||||||
libsForQt5.qt5ct
|
libsForQt5.qt5ct
|
||||||
qt6ct
|
qt6Packages.qt6ct
|
||||||
hyprshot
|
hyprshot
|
||||||
hyprpicker
|
hyprpicker
|
||||||
swappy
|
swappy
|
||||||
|
|
@ -71,6 +73,7 @@ in
|
||||||
"systemctl --user enable --now hyprpaper.service &"
|
"systemctl --user enable --now hyprpaper.service &"
|
||||||
"systemctl --user enable --now hypridle.service &"
|
"systemctl --user enable --now hypridle.service &"
|
||||||
"systemctl --user enable --now nextcloud-client.service &"
|
"systemctl --user enable --now nextcloud-client.service &"
|
||||||
|
"vicinae server"
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
|
|
@ -151,7 +154,7 @@ in
|
||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
disable_autoreload = true;
|
disable_autoreload = true;
|
||||||
focus_on_activate = true;
|
focus_on_activate = true;
|
||||||
new_window_takes_over_fullscreen = 2;
|
# new_window_takes_over_fullscreen = 2;
|
||||||
};
|
};
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
|
|
@ -188,10 +191,10 @@ in
|
||||||
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
layerrule = [
|
# layerrule = [
|
||||||
"noanim, launcher"
|
# "noanim, launcher"
|
||||||
"noanim, ^ags-.*"
|
# "noanim, ^ags-.*"
|
||||||
];
|
# ];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
# kb_layout = keyboardLayout;
|
# kb_layout = keyboardLayout;
|
||||||
|
|
|
||||||
29
home-manager/modules/hyprland/hyprpaper.nix
Normal file
29
home-manager/modules/hyprland/hyprpaper.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
ipc = "on";
|
||||||
|
splash = false;
|
||||||
|
splash_offset = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.hyprpaper
|
||||||
|
];
|
||||||
|
systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target";
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
|
"systemctl --user enable --now hyprpaper.service"
|
||||||
|
];
|
||||||
|
services.hyprpaper.settings.wallpaper = lib.singleton {
|
||||||
|
# TODO: Remove after merge https://github.com/nix-community/stylix/pull/2087
|
||||||
|
monitor = "eDP-1";
|
||||||
|
path = toString ../../../wallpapers/oasis.png;
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home-manager/modules/niri/applications.nix
Normal file
11
home-manager/modules/niri/applications.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs }:
|
||||||
|
{
|
||||||
|
browser = "${pkgs.firefox}/bin/firefox";
|
||||||
|
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||||
|
fileManager = "${pkgs.xfce.thunar}/bin/thunar";
|
||||||
|
appLauncher = "${pkgs.walker}/bin/walker";
|
||||||
|
|
||||||
|
screenshotArea = "${pkgs.bash}/bin/bash -c '${pkgs.grim}/bin/grim -g \"\\\$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
||||||
|
screenshotWindow = "${pkgs.bash}/bin/bash -c '${pkgs.grim}/bin/grim -g \"\\\$(${pkgs.slurp}/bin/slurp -w)\" - | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
||||||
|
screenshotOutput = "${pkgs.bash}/bin/bash -c '${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
||||||
|
}
|
||||||
22
home-manager/modules/niri/autostart.nix
Normal file
22
home-manager/modules/niri/autostart.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.niri.settings.spawn-at-startup = [
|
||||||
|
{
|
||||||
|
command = [
|
||||||
|
"systemctl"
|
||||||
|
"--user"
|
||||||
|
"start"
|
||||||
|
"hyprpolkitagent"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{ command = [ "xwayland-satellite" ]; }
|
||||||
|
{ command = [ "qs" ]; }
|
||||||
|
{ command = [ "swww-daemon" ]; }
|
||||||
|
#{ command = ["${pkgs.swaybg}/bin/swaybg" "-o" "DP-1" "-i" "/home/lysec/nixos/assets/wallpapers/clouds.png" "-m" "fill"]; }
|
||||||
|
#{ command = ["sh" "-c" "swww-daemon & swww img /home/lysec/nixos/wallpapers/cloud.png"]; }
|
||||||
|
];
|
||||||
|
}
|
||||||
16
home-manager/modules/niri/default.nix
Normal file
16
home-manager/modules/niri/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.niri.homeModules.niri # Import Niri's home-manager module
|
||||||
|
./settings.nix # Your custom configuration files for Niri
|
||||||
|
./keybinds.nix
|
||||||
|
./rules.nix
|
||||||
|
./autostart.nix
|
||||||
|
./noctaliashell.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
69
home-manager/modules/niri/keybinds.nix
Normal file
69
home-manager/modules/niri/keybinds.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
apps = import ./applications.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.niri.settings.binds =
|
||||||
|
with config.lib.niri.actions;
|
||||||
|
let
|
||||||
|
pactl = "${pkgs.pulseaudio}/bin/pactl";
|
||||||
|
|
||||||
|
volume-up = spawn pactl [
|
||||||
|
"set-sink-volume"
|
||||||
|
"@DEFAULT_SINK@"
|
||||||
|
"+5%"
|
||||||
|
];
|
||||||
|
volume-down = spawn pactl [
|
||||||
|
"set-sink-volume"
|
||||||
|
"@DEFAULT_SINK@"
|
||||||
|
"-5%"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# Quickshell Keybinds Start
|
||||||
|
"super+space".action = spawn [
|
||||||
|
"noctalia-shell"
|
||||||
|
"ipc"
|
||||||
|
"call"
|
||||||
|
"launcher"
|
||||||
|
"toggle"
|
||||||
|
];
|
||||||
|
# Quickshell Keybinds End
|
||||||
|
|
||||||
|
"xf86audioraisevolume".action = volume-up;
|
||||||
|
"xf86audiolowervolume".action = volume-down;
|
||||||
|
|
||||||
|
"control+super+xf86audioraisevolume".action = spawn "brightness" "up";
|
||||||
|
"control+super+xf86audiolowervolume".action = spawn "brightness" "down";
|
||||||
|
|
||||||
|
"super+q".action = close-window;
|
||||||
|
"super+b".action = spawn apps.browser;
|
||||||
|
"super+Return".action = spawn apps.terminal;
|
||||||
|
#"super+Control+Return".action = spawn apps.appLauncher;
|
||||||
|
"super+E".action = spawn apps.fileManager;
|
||||||
|
|
||||||
|
"super+f".action = maximize-column;
|
||||||
|
"super+Shift+f".action = fullscreen-window;
|
||||||
|
"super+t".action = toggle-window-floating;
|
||||||
|
"super+r".action = switch-preset-column-width;
|
||||||
|
"super+Shift+r".action = switch-preset-window-height;
|
||||||
|
|
||||||
|
# "control+shift+1".action = screenshot;
|
||||||
|
# "control+shift+2".action = screenshot-window {write-to-disk = true;};
|
||||||
|
|
||||||
|
"super+Left".action = focus-column-left;
|
||||||
|
"super+Right".action = focus-column-right;
|
||||||
|
"super+Down".action = focus-workspace-down;
|
||||||
|
"super+Up".action = focus-workspace-up;
|
||||||
|
|
||||||
|
"super+Shift+Left".action = move-column-left;
|
||||||
|
"super+Shift+Right".action = move-column-right;
|
||||||
|
"super+Shift+Down".action = move-column-to-workspace-down;
|
||||||
|
"super+Shift+Up".action = move-column-to-workspace-up;
|
||||||
|
};
|
||||||
|
}
|
||||||
68
home-manager/modules/niri/noctaliashell.nix
Normal file
68
home-manager/modules/niri/noctaliashell.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.noctalia.homeModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
# configure options
|
||||||
|
programs.noctalia-shell = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# configure noctalia here
|
||||||
|
bar = {
|
||||||
|
density = "compact";
|
||||||
|
position = "left";
|
||||||
|
showCapsule = false;
|
||||||
|
widgets = {
|
||||||
|
left = [
|
||||||
|
{
|
||||||
|
id = "ControlCenter";
|
||||||
|
useDistroLogo = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "Network";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "Bluetooth";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
center = [
|
||||||
|
{
|
||||||
|
hideUnoccupied = false;
|
||||||
|
id = "Workspace";
|
||||||
|
labelMode = "none";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
{
|
||||||
|
alwaysShowPercentage = false;
|
||||||
|
id = "Battery";
|
||||||
|
warningThreshold = 30;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
formatHorizontal = "HH:mm";
|
||||||
|
formatVertical = "HH mm";
|
||||||
|
id = "Clock";
|
||||||
|
useMonospacedFont = true;
|
||||||
|
usePrimaryColor = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
colorSchemes.predefinedScheme = "Monochrome";
|
||||||
|
general = {
|
||||||
|
avatarImage = "/home/drfoobar/.face";
|
||||||
|
radiusRatio = 0.2;
|
||||||
|
};
|
||||||
|
location = {
|
||||||
|
monthBeforeDay = true;
|
||||||
|
name = "Toronto, Canada";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# this may also be a string or a path to a JSON file.
|
||||||
|
};
|
||||||
|
}
|
||||||
48
home-manager/modules/niri/rules.nix
Normal file
48
home-manager/modules/niri/rules.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.niri.settings = {
|
||||||
|
layer-rules = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
namespace = "^quickshell-wallpaper$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
#place-within-backdrop = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
namespace = "^quickshell-overview$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
place-within-backdrop = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
namespace = "^swww-daemon$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
place-within-backdrop = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
matches = [ { } ];
|
||||||
|
geometry-corner-radius = {
|
||||||
|
top-left = 20.0;
|
||||||
|
top-right = 20.0;
|
||||||
|
bottom-left = 20.0;
|
||||||
|
bottom-right = 20.0;
|
||||||
|
};
|
||||||
|
clip-to-geometry = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
31
home-manager/modules/niri/scripts.nix
Normal file
31
home-manager/modules/niri/scripts.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
brightnessScript = pkgs.writeShellScriptBin "brightness" ''
|
||||||
|
BUS=10
|
||||||
|
STEP=5
|
||||||
|
MIN=0
|
||||||
|
MAX=100
|
||||||
|
OSD_FILE="/tmp/brightness_osd_level"
|
||||||
|
|
||||||
|
current=$(ddcutil --bus=$BUS getvcp 10 | grep -oP "current value\\s*=\\s*\\K[0-9]+")
|
||||||
|
new=$current
|
||||||
|
|
||||||
|
if [[ "$1" == "up" ]]; then
|
||||||
|
new=$((current + STEP))
|
||||||
|
(( new > MAX )) && new=$MAX
|
||||||
|
elif [[ "$1" == "down" ]]; then
|
||||||
|
new=$((current - STEP))
|
||||||
|
(( new < MIN )) && new=$MIN
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ddcutil --bus=$BUS setvcp 10 "$new"
|
||||||
|
echo "$new" > "$OSD_FILE"
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
brightnessScript
|
||||||
|
];
|
||||||
|
}
|
||||||
145
home-manager/modules/niri/settings.nix
Normal file
145
home-manager/modules/niri/settings.nix
Normal file
|
|
@ -0,0 +1,145 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.sessionVariables = {
|
||||||
|
XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur";
|
||||||
|
GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas";
|
||||||
|
XCURSOR_THEME = "Bibata-Original-Ice";
|
||||||
|
XCURSOR_SIZE = "20";
|
||||||
|
};
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.niri;
|
||||||
|
settings = {
|
||||||
|
environment = {
|
||||||
|
# CLUTTER_BACKEND = "wayland";
|
||||||
|
# DISPLAY = null;
|
||||||
|
# MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
# NIXOS_OZONE_WL = "1";
|
||||||
|
# QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
|
# QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
WLR_RENDERER = "vulkan";
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
QT_QPA_PLATFORMTHEME = "qt6ct";
|
||||||
|
GTK_IM_MODULE = "simple";
|
||||||
|
};
|
||||||
|
spawn-at-startup = [
|
||||||
|
{
|
||||||
|
command = [
|
||||||
|
"noctalia-shell"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
prefer-no-csd = true;
|
||||||
|
|
||||||
|
hotkey-overlay = {
|
||||||
|
skip-at-startup = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout = {
|
||||||
|
preset-column-widths = [
|
||||||
|
{ proportion = 1. / 3.; }
|
||||||
|
{ proportion = 1. / 2.; }
|
||||||
|
{ proportion = 2. / 3.; }
|
||||||
|
];
|
||||||
|
default-column-width = {
|
||||||
|
proportion = 0.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
preset-window-heights = [
|
||||||
|
{ proportion = 1. / 3.; }
|
||||||
|
{ proportion = 1. / 2.; }
|
||||||
|
{ proportion = 2. / 3.; }
|
||||||
|
];
|
||||||
|
|
||||||
|
background-color = "#00000000";
|
||||||
|
|
||||||
|
focus-ring = {
|
||||||
|
enable = true;
|
||||||
|
width = 3;
|
||||||
|
active = {
|
||||||
|
color = "#A8AEFF";
|
||||||
|
};
|
||||||
|
inactive = {
|
||||||
|
color = "#505050";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gaps = 6;
|
||||||
|
|
||||||
|
struts = {
|
||||||
|
left = 20;
|
||||||
|
right = 20;
|
||||||
|
top = 20;
|
||||||
|
bottom = 20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
touchpad = {
|
||||||
|
click-method = "button-areas";
|
||||||
|
dwt = true;
|
||||||
|
dwtp = true;
|
||||||
|
natural-scroll = true;
|
||||||
|
scroll-method = "two-finger";
|
||||||
|
tap = true;
|
||||||
|
tap-button-map = "left-right-middle";
|
||||||
|
middle-emulation = true;
|
||||||
|
accel-profile = "adaptive";
|
||||||
|
};
|
||||||
|
focus-follows-mouse.enable = true;
|
||||||
|
warp-mouse-to-focus.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
"eDP-1" = {
|
||||||
|
mode = {
|
||||||
|
width = 1920;
|
||||||
|
height = 1080;
|
||||||
|
};
|
||||||
|
scale = 1.0;
|
||||||
|
position = {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"desc:Microstep MSI MP161 E2 PB7H314B00225" = {
|
||||||
|
mode = {
|
||||||
|
width = 1920;
|
||||||
|
height = 1080;
|
||||||
|
};
|
||||||
|
scale = 1.0;
|
||||||
|
position = {
|
||||||
|
x = 0;
|
||||||
|
y = 1080;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
size = 20;
|
||||||
|
theme = "Adwaita";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
CLUTTER_BACKEND = "wayland";
|
||||||
|
GDK_BACKEND = "wayland,x11";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_CURRENT_DESKTOP = "niri";
|
||||||
|
DISPLAY = ":0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -55,5 +55,52 @@
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
settings.vim.augroups = [
|
||||||
|
{ name = "SwiftSetup"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
settings.vim.autocmds = [
|
||||||
|
# Start Swift LSP automatically for Swift files
|
||||||
|
{
|
||||||
|
event = [ "FileType" ];
|
||||||
|
pattern = [ "swift" ];
|
||||||
|
group = "SwiftSetup";
|
||||||
|
desc = "Start sourcekit-lsp for Swift files";
|
||||||
|
callback = lib.generators.mkLuaInline ''
|
||||||
|
function()
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
|
||||||
|
-- Avoid starting LSP multiple times
|
||||||
|
for _, client in pairs(vim.lsp.get_active_clients()) do
|
||||||
|
if client.name == "sourcekit" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
lspconfig.sourcekit.setup({
|
||||||
|
cmd = { "sourcekit-lsp" },
|
||||||
|
filetypes = { "swift", "swiftpm" },
|
||||||
|
root_dir = lspconfig.util.root_pattern("Package.swift", ".git"),
|
||||||
|
})
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
# Format Swift files on save using swift-format
|
||||||
|
{
|
||||||
|
event = [ "BufWritePost" ];
|
||||||
|
pattern = [ "*.swift" ];
|
||||||
|
group = "SwiftSetup";
|
||||||
|
desc = "Format Swift files on save";
|
||||||
|
callback = lib.generators.mkLuaInline ''
|
||||||
|
function()
|
||||||
|
if vim.fn.executable("swift-format") == 1 then
|
||||||
|
vim.cmd("silent! noautocmd !swift-format -i %")
|
||||||
|
vim.cmd("checktime")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@
|
||||||
context.enable = true;
|
context.enable = true;
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true;
|
enable = true;
|
||||||
additionalVimRegexHighlighting = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
lsp = {
|
lsp = {
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,9 @@
|
||||||
hostname = "grymforge.zt"; # added to hosts in zerotier config
|
hostname = "grymforge.zt"; # added to hosts in zerotier config
|
||||||
user = "gwg313";
|
user = "gwg313";
|
||||||
identityFile = "/home/gwg313/.ssh/home/id_ed25519";
|
identityFile = "/home/gwg313/.ssh/home/id_ed25519";
|
||||||
|
extraOptions = {
|
||||||
|
"VisualHostKey" = "no";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"waypoint" = {
|
"waypoint" = {
|
||||||
|
|
@ -57,6 +60,28 @@
|
||||||
user = "root";
|
user = "root";
|
||||||
identityFile = "/home/gwg313/.ssh/colmena/id_ed25519";
|
identityFile = "/home/gwg313/.ssh/colmena/id_ed25519";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"qnx" = {
|
||||||
|
hostname = "10.1.40.32";
|
||||||
|
user = "qnxuser";
|
||||||
|
identitiesOnly = true;
|
||||||
|
identityFile = "/home/gwg313/.ssh/qnxuser";
|
||||||
|
extraOptions = {
|
||||||
|
"Ciphers" = "aes256-ctr";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"qnxzt" = {
|
||||||
|
hostname = "10.1.40.32";
|
||||||
|
user = "qnxuser";
|
||||||
|
identitiesOnly = true;
|
||||||
|
identityFile = "/home/gwg313/.ssh/qnxuser";
|
||||||
|
proxyJump = "grymforge.zt";
|
||||||
|
extraOptions = {
|
||||||
|
"Ciphers" = "aes256-ctr";
|
||||||
|
"VisualHostKey" = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
186
home-manager/modules/vesktop.nix
Normal file
186
home-manager/modules/vesktop.nix
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.arrpc.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
discord-ptb # Used for completing Discord quests
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nixcord = {
|
||||||
|
enable = true;
|
||||||
|
discord.enable = false;
|
||||||
|
|
||||||
|
vesktop.enable = true;
|
||||||
|
vesktop.useSystemVencord = false;
|
||||||
|
|
||||||
|
config = {
|
||||||
|
themeLinks = [
|
||||||
|
# "https://raw.githubusercontent.com/refact0r/system24/refs/heads/main/theme/system24.theme.css"
|
||||||
|
"https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css"
|
||||||
|
# "https://catppuccin.github.io/discord/dist/catppuccin-mocha-lavender.theme.css"
|
||||||
|
];
|
||||||
|
frameless = true;
|
||||||
|
disableMinSize = true;
|
||||||
|
plugins = {
|
||||||
|
accountPanelServerProfile.enable = true;
|
||||||
|
alwaysExpandRoles.enable = true;
|
||||||
|
alwaysTrust.enable = true;
|
||||||
|
anonymiseFileNames.enable = true;
|
||||||
|
betterGifAltText.enable = true;
|
||||||
|
betterGifPicker.enable = true;
|
||||||
|
betterNotesBox.enable = true;
|
||||||
|
betterRoleContext.enable = true;
|
||||||
|
betterRoleDot.enable = true;
|
||||||
|
betterSessions.enable = false;
|
||||||
|
betterSettings.enable = true;
|
||||||
|
betterUploadButton.enable = true;
|
||||||
|
biggerStreamPreview.enable = true;
|
||||||
|
BlurNSFW.enable = true;
|
||||||
|
callTimer = {
|
||||||
|
enable = true;
|
||||||
|
format = "human";
|
||||||
|
};
|
||||||
|
ClearURLs.enable = true;
|
||||||
|
colorSighted.enable = true;
|
||||||
|
consoleJanitor.enable = true;
|
||||||
|
consoleShortcuts.enable = true;
|
||||||
|
copyEmojiMarkdown.enable = true;
|
||||||
|
copyFileContents.enable = true;
|
||||||
|
CopyUserURLs.enable = true;
|
||||||
|
CustomRPC = {
|
||||||
|
enable = false; # TODO
|
||||||
|
};
|
||||||
|
dearrow.enable = true;
|
||||||
|
decor.enable = true;
|
||||||
|
disableCallIdle.enable = true;
|
||||||
|
dontRoundMyTimestamps.enable = true;
|
||||||
|
experiments = {
|
||||||
|
enable = true;
|
||||||
|
toolbarDevMenu = true;
|
||||||
|
};
|
||||||
|
f8Break.enable = true;
|
||||||
|
fakeProfileThemes.enable = true;
|
||||||
|
favoriteEmojiFirst.enable = true;
|
||||||
|
favoriteGifSearch.enable = true;
|
||||||
|
fixCodeblockGap.enable = true;
|
||||||
|
fixImagesQuality.enable = true;
|
||||||
|
fixSpotifyEmbeds.enable = true;
|
||||||
|
fixYoutubeEmbeds.enable = true;
|
||||||
|
forceOwnerCrown.enable = true;
|
||||||
|
friendInvites.enable = true;
|
||||||
|
friendsSince.enable = true;
|
||||||
|
fullSearchContext.enable = true;
|
||||||
|
gameActivityToggle.enable = true;
|
||||||
|
gifPaste.enable = true;
|
||||||
|
greetStickerPicker.enable = true;
|
||||||
|
iLoveSpam.enable = true;
|
||||||
|
imageLink.enable = true;
|
||||||
|
imageZoom = {
|
||||||
|
enable = true;
|
||||||
|
nearestNeighbour = true;
|
||||||
|
};
|
||||||
|
implicitRelationships.enable = true;
|
||||||
|
# invisibleChat.enable = true; # Equicord only
|
||||||
|
keepCurrentChannel.enable = true;
|
||||||
|
memberCount.enable = true;
|
||||||
|
mentionAvatars.enable = true;
|
||||||
|
messageClickActions = {
|
||||||
|
enable = true;
|
||||||
|
enableDoubleClickToEdit = false;
|
||||||
|
enableDoubleClickToReply = false;
|
||||||
|
};
|
||||||
|
messageLatency = {
|
||||||
|
enable = true;
|
||||||
|
latency = 4;
|
||||||
|
};
|
||||||
|
messageLinkEmbeds.enable = true;
|
||||||
|
messageLogger.enable = true;
|
||||||
|
messageTags.enable = true;
|
||||||
|
# moreCommands.enable = true;
|
||||||
|
# moreKaomoji.enable = true;
|
||||||
|
# moreUserTags.enable = true;
|
||||||
|
MutualGroupDMs.enable = true;
|
||||||
|
newGuildSettings = {
|
||||||
|
enable = true;
|
||||||
|
# Values: 0 = All messages, 1 = Only @mentions, 2 = Nothing, 3 = Server default'';
|
||||||
|
messages = 1;
|
||||||
|
role = false;
|
||||||
|
};
|
||||||
|
noBlockedMessages.enable = true;
|
||||||
|
noDevtoolsWarning.enable = true;
|
||||||
|
noF1.enable = true;
|
||||||
|
noMosaic.enable = true;
|
||||||
|
noOnboardingDelay.enable = true;
|
||||||
|
noPendingCount.enable = true;
|
||||||
|
noTypingAnimation.enable = true;
|
||||||
|
noUnblockToJump.enable = true;
|
||||||
|
normalizeMessageLinks.enable = true;
|
||||||
|
openInApp.enable = true;
|
||||||
|
overrideForumDefaults.enable = true;
|
||||||
|
permissionFreeWill.enable = true;
|
||||||
|
permissionsViewer.enable = true;
|
||||||
|
petpet.enable = true;
|
||||||
|
pictureInPicture.enable = true;
|
||||||
|
PinDMs.enable = true;
|
||||||
|
platformIndicators.enable = true;
|
||||||
|
previewMessage.enable = true;
|
||||||
|
quickMention.enable = true;
|
||||||
|
quickReply.enable = true;
|
||||||
|
reactErrorDecoder.enable = true;
|
||||||
|
readAllNotificationsButton.enable = true;
|
||||||
|
relationshipNotifier.enable = true;
|
||||||
|
replaceGoogleSearch.enable = true;
|
||||||
|
replyTimestamp.enable = true;
|
||||||
|
revealAllSpoilers.enable = true;
|
||||||
|
reverseImageSearch.enable = true;
|
||||||
|
roleColorEverywhere.enable = true;
|
||||||
|
summaries.enable = true;
|
||||||
|
sendTimestamps.enable = true;
|
||||||
|
serverInfo.enable = true;
|
||||||
|
shikiCodeblocks.enable = true;
|
||||||
|
showAllMessageButtons.enable = true;
|
||||||
|
showConnections.enable = true;
|
||||||
|
showHiddenChannels = {
|
||||||
|
enable = true;
|
||||||
|
# Values: 0 = Lock Icon replacing channel icon, 2 = Eye icon on the right, 1 = Lock icon on the right
|
||||||
|
showMode = 0;
|
||||||
|
};
|
||||||
|
showHiddenThings.enable = true;
|
||||||
|
showTimeoutDuration.enable = true;
|
||||||
|
silentMessageToggle.enable = true;
|
||||||
|
sortFriendRequests.enable = true;
|
||||||
|
spotifyControls.enable = true;
|
||||||
|
spotifyCrack.enable = true;
|
||||||
|
spotifyShareCommands.enable = true;
|
||||||
|
startupTimings.enable = true;
|
||||||
|
streamerModeOnStream.enable = true;
|
||||||
|
themeAttributes.enable = true;
|
||||||
|
translate.enable = true;
|
||||||
|
typingIndicator.enable = true;
|
||||||
|
typingTweaks.enable = true;
|
||||||
|
unindent.enable = true;
|
||||||
|
unlockedAvatarZoom.enable = true;
|
||||||
|
unsuppressEmbeds.enable = true;
|
||||||
|
userVoiceShow.enable = true;
|
||||||
|
validReply.enable = true;
|
||||||
|
validUser.enable = true;
|
||||||
|
voiceChatDoubleClick.enable = true;
|
||||||
|
vencordToolbox.enable = true;
|
||||||
|
viewIcons.enable = true;
|
||||||
|
viewRaw.enable = true;
|
||||||
|
voiceDownload.enable = true;
|
||||||
|
voiceMessages.enable = true;
|
||||||
|
volumeBooster.enable = true;
|
||||||
|
youtubeAdblock.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vesktopConfig = {
|
||||||
|
plugins = {
|
||||||
|
webKeybinds.enable = true;
|
||||||
|
webRichPresence.enable = true;
|
||||||
|
webScreenShareFixes.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
home-manager/modules/vicinae.nix
Normal file
37
home-manager/modules/vicinae.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
# ...
|
||||||
|
|
||||||
|
services.vicinae = {
|
||||||
|
enable = true;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
environment = {
|
||||||
|
USE_LAYER_SHELL = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
close_on_focus_loss = true;
|
||||||
|
consider_preedit = true;
|
||||||
|
pop_to_root_on_close = true;
|
||||||
|
favicon_service = "twenty";
|
||||||
|
search_files_in_root = true;
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
size = 12;
|
||||||
|
normal = "Comic Code Ligatures";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||||
|
bluetooth
|
||||||
|
nix
|
||||||
|
power-profile
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
# Zen is a minimalistic web browser.
|
# Zen is a minimalistic web browser.
|
||||||
{ inputs, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.zen-browser.homeModules.beta
|
inputs.zen-browser.homeModules.beta
|
||||||
|
|
|
||||||
|
|
@ -93,9 +93,9 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
a3-dev_zt.loadBalancer.servers = [
|
pm_zt.loadBalancer.servers = [
|
||||||
{
|
{
|
||||||
url = "https://a3-dev.zerotier.gwg313.xyz";
|
url = "https://pm.zerotier.gwg313.xyz";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
@ -220,10 +220,10 @@
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
a3-dev_zt = {
|
pm_zt = {
|
||||||
entryPoints = [ "websecure" ];
|
entryPoints = [ "websecure" ];
|
||||||
rule = "Host(`a3-dev.gwg313.xyz`)";
|
rule = "Host(`pm.gwg313.xyz`)";
|
||||||
service = "a3-dev_zt";
|
service = "pm_zt";
|
||||||
tls.certResolver = "le";
|
tls.certResolver = "le";
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,10 @@
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
a3-dev = {
|
pm = {
|
||||||
entryPoints = [ "websecure" ];
|
entryPoints = [ "websecure" ];
|
||||||
rule = "Host(`a3-dev.gwg313.xyz`)";
|
rule = "Host(`pm.gwg313.xyz`)";
|
||||||
service = "a3-dev_local";
|
service = "pm_local";
|
||||||
tls.certResolver = "le";
|
tls.certResolver = "le";
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,10 @@
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
a3-dev_zt = {
|
pm_zt = {
|
||||||
entryPoints = [ "websecure" ];
|
entryPoints = [ "websecure" ];
|
||||||
rule = "Host(`a3-dev.zerotier.gwg313.xyz`)";
|
rule = "Host(`pm.zerotier.gwg313.xyz`)";
|
||||||
service = "a3-dev_local";
|
service = "pm_local";
|
||||||
tls.certResolver = "le";
|
tls.certResolver = "le";
|
||||||
middlewares = [ "headers" ];
|
middlewares = [ "headers" ];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -108,9 +108,9 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
a3-dev_local.loadBalancer.servers = [
|
pm_local.loadBalancer.servers = [
|
||||||
{
|
{
|
||||||
url = "https://a3-dev.gwg313.xyz";
|
url = "https://pm.gwg313.xyz";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue