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; [
|
||||
protonup
|
||||
protonup-ng
|
||||
steam-devices-udev-rules
|
||||
scanmem
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ _: {
|
|||
10.147.17.246 uptime.zerotier.gwg313.xyz
|
||||
10.147.17.246 hdoc.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
|
||||
|
||||
|
||||
|
|
@ -33,6 +33,6 @@ _: {
|
|||
10.1.10.9 uptime.gwg313.xyz
|
||||
10.1.10.50 hdoc.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" = { };
|
||||
networking = {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
package = pkgs.noto-fonts-color-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
config.stylix = {
|
||||
enable = true;
|
||||
|
||||
targets.zen-browser.profileNames = [ "Default Profile" ];
|
||||
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||
base16Scheme = {
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
package = pkgs.noto-fonts-color-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
sizes = {
|
||||
|
|
@ -90,6 +90,6 @@
|
|||
};
|
||||
|
||||
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 = {
|
||||
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.url = "github:nix-community/home-manager/master";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
@ -66,6 +70,19 @@
|
|||
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
||||
pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
||||
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 =
|
||||
|
|
@ -75,6 +92,7 @@
|
|||
home-manager,
|
||||
colmena,
|
||||
nix-ld,
|
||||
vicinae,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
|
|
@ -197,6 +215,7 @@
|
|||
./home-manager/machines/candlekeep.nix
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.vicinae.homeManagerModules.default
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -26,12 +26,14 @@
|
|||
../modules/common.nix
|
||||
../../common/style/vars/vars.nix
|
||||
../modules/hyprland
|
||||
# ../modules/niri
|
||||
../modules/common-gui.nix
|
||||
../modules/linux-gui.nix
|
||||
../modules/devenv.nix
|
||||
../modules/ssh.nix
|
||||
../modules/gh-dash.nix
|
||||
../modules/ags.nix
|
||||
../modules/vesktop.nix
|
||||
# ../modules/neovim
|
||||
../modules/yazi.nix
|
||||
# ../modules/hyprpanel.nix
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
||||
|
|
@ -80,7 +81,7 @@
|
|||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
package = pkgs.noto-fonts-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
|
||||
./mime.nix
|
||||
./nixcord.nix
|
||||
# ./vicinae.nix
|
||||
./caelestia-shell
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
|
@ -22,8 +24,10 @@
|
|||
nerd-fonts.monaspace
|
||||
noto-fonts-cjk-sans
|
||||
rPackages.fontawesome
|
||||
ubuntu_font_family
|
||||
ubuntu-classic
|
||||
yt-dlp
|
||||
mochi
|
||||
# mochi TODO: reenable when fixed
|
||||
jetbrains.idea
|
||||
wpsoffice
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
minio-client
|
||||
kanata
|
||||
yatto
|
||||
ticktick
|
||||
|
||||
# Editors
|
||||
# neovim # Improved version of vim, often used with overlays.
|
||||
|
|
@ -43,7 +44,7 @@
|
|||
# Builtin Replacements
|
||||
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.
|
||||
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.
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -7,14 +7,20 @@
|
|||
programs.ghostty = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
installVimSyntax = true;
|
||||
settings = {
|
||||
window-padding-x = 10;
|
||||
window-padding-y = 10;
|
||||
auto-update = "off";
|
||||
working-directory = "home";
|
||||
window-inherit-working-directory = false; # avoid inheritance
|
||||
keybinds = [ ];
|
||||
# background-opacity = 0.8;
|
||||
background-opacity = 1;
|
||||
confirm-close-surface = false;
|
||||
# font-family = lib.mkForce "Comic Code Ligatures";
|
||||
font-family = lib.mkForce "Terminus";
|
||||
font-size = 9;
|
||||
font-family = lib.mkForce "Comic Code Ligatures";
|
||||
# font-family = lib.mkForce "Terminus";
|
||||
font-size = 14;
|
||||
gtk-titlebar = false;
|
||||
# theme = "Teerb";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,17 +10,17 @@
|
|||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind =
|
||||
[
|
||||
bind = [
|
||||
# general binds
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||
"$mod,RETURN, exec, uwsm app -- ${pkgs.ghostty}/bin/ghostty" # Ghostty (terminal)
|
||||
# "$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||
"$mod,E, exec, uwsm app -- ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"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, F, fullscreen"
|
||||
"$mod,F, fullscreen" # Toggle fullscreen
|
||||
|
|
|
|||
|
|
@ -23,15 +23,17 @@ in
|
|||
./bindings.nix
|
||||
./polkitagent.nix
|
||||
# ./hyprspace.nix
|
||||
./hyprpanel.nix
|
||||
./hyprlock.nix
|
||||
# ./hyprpanel.nix
|
||||
# ./hyprlock.nix
|
||||
./hyprpaper.nix
|
||||
../caelestia-shell
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
qt5.qtwayland
|
||||
qt6.qtwayland
|
||||
libsForQt5.qt5ct
|
||||
qt6ct
|
||||
qt6Packages.qt6ct
|
||||
hyprshot
|
||||
hyprpicker
|
||||
swappy
|
||||
|
|
@ -71,6 +73,7 @@ in
|
|||
"systemctl --user enable --now hyprpaper.service &"
|
||||
"systemctl --user enable --now hypridle.service &"
|
||||
"systemctl --user enable --now nextcloud-client.service &"
|
||||
"vicinae server"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
|
|
@ -151,7 +154,7 @@ in
|
|||
disable_splash_rendering = true;
|
||||
disable_autoreload = true;
|
||||
focus_on_activate = true;
|
||||
new_window_takes_over_fullscreen = 2;
|
||||
# new_window_takes_over_fullscreen = 2;
|
||||
};
|
||||
|
||||
windowrulev2 = [
|
||||
|
|
@ -188,10 +191,10 @@ in
|
|||
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
"noanim, launcher"
|
||||
"noanim, ^ags-.*"
|
||||
];
|
||||
# layerrule = [
|
||||
# "noanim, launcher"
|
||||
# "noanim, ^ags-.*"
|
||||
# ];
|
||||
|
||||
input = {
|
||||
# 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;
|
||||
highlight = {
|
||||
enable = true;
|
||||
additionalVimRegexHighlighting = true;
|
||||
};
|
||||
};
|
||||
lsp = {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@
|
|||
hostname = "grymforge.zt"; # added to hosts in zerotier config
|
||||
user = "gwg313";
|
||||
identityFile = "/home/gwg313/.ssh/home/id_ed25519";
|
||||
extraOptions = {
|
||||
"VisualHostKey" = "no";
|
||||
};
|
||||
};
|
||||
|
||||
"waypoint" = {
|
||||
|
|
@ -57,6 +60,28 @@
|
|||
user = "root";
|
||||
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.
|
||||
{ inputs, ... }:
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
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" ];
|
||||
};
|
||||
|
||||
a3-dev_zt = {
|
||||
pm_zt = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`a3-dev.gwg313.xyz`)";
|
||||
service = "a3-dev_zt";
|
||||
rule = "Host(`pm.gwg313.xyz`)";
|
||||
service = "pm_zt";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -124,10 +124,10 @@
|
|||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
a3-dev = {
|
||||
pm = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`a3-dev.gwg313.xyz`)";
|
||||
service = "a3-dev_local";
|
||||
rule = "Host(`pm.gwg313.xyz`)";
|
||||
service = "pm_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -124,10 +124,10 @@
|
|||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
a3-dev_zt = {
|
||||
pm_zt = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`a3-dev.zerotier.gwg313.xyz`)";
|
||||
service = "a3-dev_local";
|
||||
rule = "Host(`pm.zerotier.gwg313.xyz`)";
|
||||
service = "pm_local";
|
||||
tls.certResolver = "le";
|
||||
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