updates :3
This commit is contained in:
parent
825f05c50a
commit
dd60fce00f
20 changed files with 1360 additions and 565 deletions
|
|
@ -1,70 +0,0 @@
|
||||||
{
|
|
||||||
"palette": {
|
|
||||||
"os": "#ACB0BE",
|
|
||||||
"pink": "#F5BDE6",
|
|
||||||
"lavender": "#B7BDF8",
|
|
||||||
"blue": "#8AADF4",
|
|
||||||
"wight": "#FFFFFF",
|
|
||||||
"text": "#494D64"
|
|
||||||
},
|
|
||||||
"blocks": [
|
|
||||||
{
|
|
||||||
"alignment": "left",
|
|
||||||
"segments": [
|
|
||||||
{
|
|
||||||
"background": "p:blue",
|
|
||||||
"foreground": "p:wight",
|
|
||||||
"powerline_symbol": "\ue0b4",
|
|
||||||
"leading_diamond": "\ue0b6",
|
|
||||||
"style": "diamond",
|
|
||||||
"template": "{{.Icon}} ",
|
|
||||||
"type": "os"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"background": "p:blue",
|
|
||||||
"foreground": "p:text",
|
|
||||||
"powerline_symbol": "\ue0b4",
|
|
||||||
"style": "diamond",
|
|
||||||
"template": "{{ .UserName }}@{{ .HostName }}",
|
|
||||||
"type": "session"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"background": "p:pink",
|
|
||||||
"foreground": "p:text",
|
|
||||||
"properties": {
|
|
||||||
"folder_icon": "..\ue5fe..",
|
|
||||||
"home_icon": "~",
|
|
||||||
"style": "agnoster_short"
|
|
||||||
},
|
|
||||||
"powerline_symbol": "\ue0b4",
|
|
||||||
"style": "powerline",
|
|
||||||
"template": " {{ .Path }}",
|
|
||||||
"type": "path"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"background": "p:lavender",
|
|
||||||
"foreground": "p:text",
|
|
||||||
"style": "powerline",
|
|
||||||
"properties": {
|
|
||||||
"branch_icon": "\ue725 ",
|
|
||||||
"cherry_pick_icon": "\ue29b ",
|
|
||||||
"commit_icon": "\uf417 ",
|
|
||||||
"fetch_status": false,
|
|
||||||
"fetch_upstream_icon": false,
|
|
||||||
"merge_icon": "\ue727 ",
|
|
||||||
"no_commits_icon": "\uf0c3 ",
|
|
||||||
"rebase_icon": "\ue728 ",
|
|
||||||
"revert_icon": "\uf0e2 ",
|
|
||||||
"tag_icon": "\uf412 "
|
|
||||||
},
|
|
||||||
"powerline_symbol": "\ue0b4",
|
|
||||||
"template": " {{ .HEAD }}",
|
|
||||||
"type": "git"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "prompt"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"final_space": true,
|
|
||||||
"version": 2
|
|
||||||
}
|
|
||||||
551
flake.lock
generated
551
flake.lock
generated
File diff suppressed because it is too large
Load diff
10
flake.nix
10
flake.nix
|
|
@ -28,6 +28,8 @@
|
||||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
walker.url = "github:abenz1267/walker";
|
||||||
|
|
||||||
resume.url = "path:/home/zoey/dev/resume";
|
resume.url = "path:/home/zoey/dev/resume";
|
||||||
ags.url = "github:Aylur/ags/v1";
|
ags.url = "github:Aylur/ags/v1";
|
||||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
ags.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -127,7 +129,9 @@
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
niri.url = "github:sodiboo/niri-flake/bc29338ba733e4c1b94c3ed134baabfea587627e";
|
||||||
|
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {self, ...}: let
|
outputs = inputs @ {self, ...}: let
|
||||||
|
|
@ -168,8 +172,9 @@
|
||||||
|
|
||||||
homes.modules = with inputs; [
|
homes.modules = with inputs; [
|
||||||
spicetify-nix.homeManagerModules.default
|
spicetify-nix.homeManagerModules.default
|
||||||
catppuccin.homeModules.catppuccin
|
catppuccin.homeModules.default
|
||||||
ags.homeManagerModules.default
|
ags.homeManagerModules.default
|
||||||
|
walker.homeManagerModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
systems.modules.nixos = with inputs; [
|
systems.modules.nixos = with inputs; [
|
||||||
|
|
@ -185,6 +190,7 @@
|
||||||
mailserver.nixosModule
|
mailserver.nixosModule
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
niri.nixosModules.niri
|
niri.nixosModules.niri
|
||||||
|
chaotic.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.distrobox = {
|
||||||
|
enable = true;
|
||||||
|
containers = {
|
||||||
|
proton-tkg = {
|
||||||
|
image = "archlinux";
|
||||||
|
additional_packages = "build-essential git";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
catppuccin.mako.enable = false;
|
||||||
|
|
||||||
# programs.pywal2.enable = true;
|
# programs.pywal2.enable = true;
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
|
|
@ -104,114 +116,121 @@
|
||||||
|
|
||||||
catppuccin.aerc.enable = true;
|
catppuccin.aerc.enable = true;
|
||||||
|
|
||||||
|
catppuccin.cava.enable = true;
|
||||||
|
catppuccin.fuzzel.enable = true;
|
||||||
|
catppuccin.fzf.enable = true;
|
||||||
|
|
||||||
work.vpn.enable = true;
|
work.vpn.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
pkgs.gimp
|
gimp3
|
||||||
pkgs.slack
|
slack
|
||||||
|
|
||||||
pkgs.monero-cli
|
monero-cli
|
||||||
|
|
||||||
pkgs.zoom-us
|
zoom-us
|
||||||
pkgs.pandoc
|
pandoc
|
||||||
|
|
||||||
pkgs.prismlauncher
|
nexusmods-app-unfree
|
||||||
pkgs.obs-studio
|
|
||||||
|
|
||||||
pkgs.ungoogled-chromium
|
prismlauncher
|
||||||
pkgs.uutils-coreutils-noprefix
|
obs-studio
|
||||||
pkgs.yazi
|
|
||||||
pkgs.reaper
|
|
||||||
|
|
||||||
pkgs.fragments
|
distrobox
|
||||||
|
|
||||||
|
ungoogled-chromium
|
||||||
|
uutils-coreutils-noprefix
|
||||||
|
yazi
|
||||||
|
reaper
|
||||||
|
|
||||||
|
fragments
|
||||||
inputs.posting.packages.${pkgs.system}.default
|
inputs.posting.packages.${pkgs.system}.default
|
||||||
|
|
||||||
pkgs.heroic
|
heroic
|
||||||
pkgs.cartridges
|
cartridges
|
||||||
|
|
||||||
pkgs.darktable
|
darktable
|
||||||
|
|
||||||
pkgs.thunderbird
|
thunderbird
|
||||||
|
|
||||||
pkgs.custom.nvidia-nsight
|
custom.nvidia-nsight
|
||||||
|
|
||||||
pkgs.custom.enc
|
custom.enc
|
||||||
|
|
||||||
pkgs.neural-amp-modeler-lv2
|
neural-amp-modeler-lv2
|
||||||
|
|
||||||
pkgs.nix-tree
|
nix-tree
|
||||||
# inputs.g2claude.packages.${pkgs.system}.default
|
# inputs.g2claude.packages.${pkgs.system}.default
|
||||||
|
|
||||||
pkgs.mongodb-compass
|
mongodb-compass
|
||||||
pkgs.postman
|
postman
|
||||||
pkgs.mosh
|
mosh
|
||||||
|
|
||||||
pkgs.dconf
|
dconf
|
||||||
pkgs.wl-clipboard
|
wl-clipboard
|
||||||
pkgs.pwvucontrol
|
pwvucontrol
|
||||||
pkgs.wlogout
|
wlogout
|
||||||
pkgs.sway-audio-idle-inhibit
|
sway-audio-idle-inhibit
|
||||||
pkgs.grim
|
grim
|
||||||
pkgs.slurp
|
slurp
|
||||||
|
|
||||||
pkgs.pods
|
pods
|
||||||
|
|
||||||
pkgs.polari
|
polari
|
||||||
pkgs.flare-signal
|
|
||||||
|
|
||||||
pkgs.neovide
|
neovide
|
||||||
|
|
||||||
pkgs.nitch
|
nitch
|
||||||
pkgs.nix-output-monitor
|
nix-output-monitor
|
||||||
pkgs.fastfetch
|
fastfetch
|
||||||
|
|
||||||
pkgs.signal-desktop
|
signal-desktop
|
||||||
|
flare-signal
|
||||||
|
|
||||||
pkgs.nh
|
nh
|
||||||
pkgs.dwl
|
dwl
|
||||||
|
|
||||||
pkgs.foliate
|
foliate
|
||||||
|
|
||||||
pkgs.killall
|
killall
|
||||||
pkgs.custom.rebuild
|
custom.rebuild
|
||||||
pkgs.custom.powermenu
|
custom.powermenu
|
||||||
|
|
||||||
pkgs.parsec-bin
|
parsec-bin
|
||||||
pkgs.filezilla
|
filezilla
|
||||||
pkgs.zed-editor
|
zed-editor
|
||||||
pkgs.rmpc
|
rmpc
|
||||||
|
|
||||||
inputs.zen-browser.packages.${pkgs.system}.beta
|
inputs.zen-browser.packages.${pkgs.system}.beta
|
||||||
|
|
||||||
pkgs.starfetch
|
starfetch
|
||||||
lib.custom.nixos-stable.kiwix
|
lib.custom.nixos-stable.kiwix
|
||||||
|
|
||||||
pkgs.mpc-cli
|
mpc-cli
|
||||||
pkgs.zathura
|
zathura
|
||||||
pkgs.gpgme.dev
|
gpgme.dev
|
||||||
|
|
||||||
pkgs.rofimoji
|
rofimoji
|
||||||
pkgs.renderdoc
|
renderdoc
|
||||||
|
|
||||||
pkgs.xwayland-satellite
|
xwayland-satellite
|
||||||
|
|
||||||
pkgs.nautilus
|
nautilus
|
||||||
pkgs.nautilus-python
|
nautilus-python
|
||||||
pkgs.loupe
|
loupe
|
||||||
|
|
||||||
pkgs.openvpn
|
openvpn
|
||||||
pkgs.telegram-desktop
|
linux-manual
|
||||||
pkgs.linux-manual
|
man-pages
|
||||||
pkgs.man-pages
|
man-pages-posix
|
||||||
pkgs.man-pages-posix
|
|
||||||
|
|
||||||
pkgs.ardour
|
ardour
|
||||||
|
|
||||||
pkgs.shadps4
|
|
||||||
|
|
||||||
pkgs.audacity
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.vesktop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
options = ["--cmd cd"];
|
options = ["--cmd cd"];
|
||||||
|
|
@ -227,7 +246,6 @@
|
||||||
|
|
||||||
programs.cava = {
|
programs.cava = {
|
||||||
enable = true;
|
enable = true;
|
||||||
catppuccin.enable = true;
|
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
# bars = 2;
|
# bars = 2;
|
||||||
|
|
@ -247,13 +265,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin.fuzzel.enable = true;
|
|
||||||
|
|
||||||
programs.fuzzel.enable = true;
|
programs.fuzzel.enable = true;
|
||||||
|
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
catppuccin.enable = true;
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
update_ms = 100
|
update_ms = 100
|
||||||
vim_keys = true
|
vim_keys = true
|
||||||
|
|
@ -266,7 +281,6 @@
|
||||||
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,16 @@
|
||||||
in {
|
in {
|
||||||
x = c: "#${c}";
|
x = c: "#${c}";
|
||||||
|
|
||||||
colors = {
|
fonts = {
|
||||||
|
mono = "Iosevka";
|
||||||
|
ui = "SF Pro Display";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = rec {
|
||||||
|
bg = crust;
|
||||||
|
fg = text;
|
||||||
|
primary = red;
|
||||||
|
|
||||||
rosewater = {
|
rosewater = {
|
||||||
hex = "#f5e0dc";
|
hex = "#f5e0dc";
|
||||||
rgb = "rgb(245, 224, 220)";
|
rgb = "rgb(245, 224, 220)";
|
||||||
|
|
@ -200,15 +209,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
|
||||||
mono = {
|
|
||||||
normal = "Iosevka Bold";
|
|
||||||
bold = "Iosevka ExtraBold";
|
|
||||||
italic = "Iosevka Bold Italic";
|
|
||||||
bold_italic = "Iosevka ExtraBold Italic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wallpaper = ./svema_26_big.jpg;
|
wallpaper = ./svema_26_big.jpg;
|
||||||
|
|
||||||
lerpColor = lerpColorFunc;
|
lerpColor = lerpColorFunc;
|
||||||
|
|
|
||||||
611
modules/home/apps/helpers/walker/default.nix
Normal file
611
modules/home/apps/helpers/walker/default.nix
Normal file
|
|
@ -0,0 +1,611 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
with lib.custom; let
|
||||||
|
cfg = config.apps.helpers.walker;
|
||||||
|
in {
|
||||||
|
options.apps.helpers.walker = with types; {
|
||||||
|
enable = mkBoolOpt false "Enable Walker";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.walker = {
|
||||||
|
enable = true;
|
||||||
|
runAsService = true;
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
layout = {
|
||||||
|
ui = {
|
||||||
|
anchors = {
|
||||||
|
bottom = true;
|
||||||
|
left = true;
|
||||||
|
right = true;
|
||||||
|
top = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
window = {
|
||||||
|
h_align = "fill";
|
||||||
|
v_align = "fill";
|
||||||
|
|
||||||
|
box = {
|
||||||
|
h_align = "center";
|
||||||
|
width = 450;
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
orientation = "horizontal";
|
||||||
|
position = "end";
|
||||||
|
|
||||||
|
entry = {
|
||||||
|
h_align = "fill";
|
||||||
|
h_expand = true;
|
||||||
|
|
||||||
|
icon = {
|
||||||
|
h_align = "center";
|
||||||
|
h_expand = true;
|
||||||
|
pixel_size = 24;
|
||||||
|
theme = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
margins = {
|
||||||
|
top = 450;
|
||||||
|
};
|
||||||
|
|
||||||
|
ai_scroll = {
|
||||||
|
name = "aiScroll";
|
||||||
|
h_align = "fill";
|
||||||
|
v_align = "fill";
|
||||||
|
max_height = 300;
|
||||||
|
min_width = 400;
|
||||||
|
height = 300;
|
||||||
|
width = 400;
|
||||||
|
|
||||||
|
margins = {
|
||||||
|
top = 8;
|
||||||
|
};
|
||||||
|
|
||||||
|
list = {
|
||||||
|
name = "aiList";
|
||||||
|
orientation = "vertical";
|
||||||
|
width = 400;
|
||||||
|
spacing = 10;
|
||||||
|
|
||||||
|
item = {
|
||||||
|
name = "aiItem";
|
||||||
|
h_align = "fill";
|
||||||
|
v_align = "fill";
|
||||||
|
x_align = 0;
|
||||||
|
y_align = 0;
|
||||||
|
wrap = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
scroll = {
|
||||||
|
list = {
|
||||||
|
marker_color = "#1BFFE1";
|
||||||
|
max_height = 300;
|
||||||
|
max_width = 400;
|
||||||
|
min_width = 400;
|
||||||
|
width = 400;
|
||||||
|
|
||||||
|
item = {
|
||||||
|
activation_label = {
|
||||||
|
h_align = "fill";
|
||||||
|
v_align = "fill";
|
||||||
|
width = 20;
|
||||||
|
x_align = 0.5;
|
||||||
|
y_align = 0.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
icon = {
|
||||||
|
pixel_size = 26;
|
||||||
|
theme = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
margins = {
|
||||||
|
top = 8;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
search = {
|
||||||
|
prompt = {
|
||||||
|
name = "prompt";
|
||||||
|
icon = "edit-find";
|
||||||
|
theme = "";
|
||||||
|
pixel_size = 18;
|
||||||
|
h_align = "center";
|
||||||
|
v_align = "center";
|
||||||
|
};
|
||||||
|
|
||||||
|
clear = {
|
||||||
|
name = "clear";
|
||||||
|
icon = "edit-clear";
|
||||||
|
theme = "";
|
||||||
|
pixel_size = 18;
|
||||||
|
h_align = "center";
|
||||||
|
v_align = "center";
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
h_align = "fill";
|
||||||
|
h_expand = true;
|
||||||
|
icons = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
spinner = {
|
||||||
|
hide = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
@define-color foreground ${colors.fg.hex}; /* text */
|
||||||
|
@define-color background ${colors.bg.hex}; /* base */
|
||||||
|
@define-color cursor ${colors.primary.hex}; /* rosewater */
|
||||||
|
|
||||||
|
@define-color color0 ${colors.surface0.hex}; /* surface0 */
|
||||||
|
@define-color color1 ${colors.red.hex}; /* red */
|
||||||
|
@define-color color2 ${colors.green.hex}; /* green */
|
||||||
|
@define-color color3 ${colors.yellow.hex}; /* yellow */
|
||||||
|
@define-color color4 ${colors.blue.hex}; /* blue */
|
||||||
|
@define-color color5 ${colors.pink.hex}; /* pink */
|
||||||
|
@define-color color6 ${colors.teal.hex}; /* teal */
|
||||||
|
@define-color color7 ${colors.subtext1.hex}; /* subtext1 */
|
||||||
|
@define-color color8 ${colors.surface1.hex}; /* surface1 */
|
||||||
|
@define-color color9 ${colors.red.hex}; /* red */
|
||||||
|
@define-color color10 ${colors.green.hex}; /* green */
|
||||||
|
@define-color color11 ${colors.yellow.hex}; /* yellow */
|
||||||
|
@define-color color12 ${colors.blue.hex}; /* blue */
|
||||||
|
@define-color color13 ${colors.pink.hex}; /* pink */
|
||||||
|
@define-color color14 ${colors.teal.hex}; /* teal */
|
||||||
|
@define-color color15 ${colors.subtext0.hex}; /* subtext0 */
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#box,
|
||||||
|
#aiScroll,
|
||||||
|
#aiList,
|
||||||
|
#search,
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#prompt,
|
||||||
|
#clear,
|
||||||
|
#typeahead,
|
||||||
|
#list,
|
||||||
|
child,
|
||||||
|
scrollbar,
|
||||||
|
slider,
|
||||||
|
#item,
|
||||||
|
#text,
|
||||||
|
#label,
|
||||||
|
#bar,
|
||||||
|
#sub,
|
||||||
|
#activationlabel {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cfgerr {
|
||||||
|
background: rgba(255, 0, 0, 0.4);
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#box {
|
||||||
|
border-radius: 2px;
|
||||||
|
background: @background;
|
||||||
|
padding: 32px;
|
||||||
|
border: 1px solid lighter(@background);
|
||||||
|
box-shadow:
|
||||||
|
0 19px 38px rgba(0, 0, 0, 0.3),
|
||||||
|
0 15px 12px rgba(0, 0, 0, 0.22);
|
||||||
|
}
|
||||||
|
|
||||||
|
#search {
|
||||||
|
box-shadow:
|
||||||
|
0 1px 3px rgba(0, 0, 0, 0.1),
|
||||||
|
0 1px 2px rgba(0, 0, 0, 0.22);
|
||||||
|
background: lighter(@background);
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#prompt {
|
||||||
|
margin-left: 4px;
|
||||||
|
margin-right: 12px;
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clear {
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#typeahead {
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#password {
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#typeahead {
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input placeholder {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#list {
|
||||||
|
}
|
||||||
|
|
||||||
|
child {
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
child:selected,
|
||||||
|
child:hover {
|
||||||
|
background: alpha(@color1, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
#item {
|
||||||
|
}
|
||||||
|
|
||||||
|
#icon {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
}
|
||||||
|
|
||||||
|
#label {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub {
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#activationlabel {
|
||||||
|
}
|
||||||
|
|
||||||
|
#bar {
|
||||||
|
}
|
||||||
|
|
||||||
|
.barentry {
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation #activationlabel {
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation #text,
|
||||||
|
.activation #icon,
|
||||||
|
.activation #search {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: @foreground;
|
||||||
|
background: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem.user {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem.assistant {
|
||||||
|
background: lighter(@background);
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
app_launch_prefix = "";
|
||||||
|
terminal_title_flag = "";
|
||||||
|
locale = "";
|
||||||
|
close_when_open = false;
|
||||||
|
theme = "nixos";
|
||||||
|
monitor = "";
|
||||||
|
hotreload_theme = false;
|
||||||
|
as_window = false;
|
||||||
|
timeout = 0;
|
||||||
|
disable_click_to_close = false;
|
||||||
|
force_keyboard_focus = false;
|
||||||
|
|
||||||
|
keys = {
|
||||||
|
accept_typeahead = ["tab"];
|
||||||
|
trigger_labels = "lalt";
|
||||||
|
next = ["down"];
|
||||||
|
prev = ["up"];
|
||||||
|
close = ["esc"];
|
||||||
|
remove_from_history = ["shift backspace"];
|
||||||
|
resume_query = ["ctrl r"];
|
||||||
|
toggle_exact_search = ["ctrl m"];
|
||||||
|
|
||||||
|
activation_modifiers = {
|
||||||
|
keep_open = "shift";
|
||||||
|
alternate = "alt";
|
||||||
|
};
|
||||||
|
|
||||||
|
ai = {
|
||||||
|
clear_session = ["ctrl x"];
|
||||||
|
copy_last_response = ["ctrl c"];
|
||||||
|
resume_session = ["ctrl r"];
|
||||||
|
run_last_response = ["ctrl e"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
events = {
|
||||||
|
on_activate = "";
|
||||||
|
on_selection = "";
|
||||||
|
on_exit = "";
|
||||||
|
on_launch = "";
|
||||||
|
on_query_change = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
list = {
|
||||||
|
dynamic_sub = true;
|
||||||
|
keyboard_scroll_style = "emacs";
|
||||||
|
max_entries = 50;
|
||||||
|
show_initial_entries = true;
|
||||||
|
single_click = true;
|
||||||
|
visibility_threshold = 20;
|
||||||
|
placeholder = "No Results";
|
||||||
|
};
|
||||||
|
|
||||||
|
search = {
|
||||||
|
argument_delimiter = "#";
|
||||||
|
placeholder = "Search...";
|
||||||
|
delay = 0;
|
||||||
|
resume_last_query = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
activation_mode = {
|
||||||
|
labels = "jkl;asdf";
|
||||||
|
};
|
||||||
|
|
||||||
|
builtins = {
|
||||||
|
applications = {
|
||||||
|
weight = 5;
|
||||||
|
name = "applications";
|
||||||
|
placeholder = "Applications";
|
||||||
|
prioritize_new = true;
|
||||||
|
hide_actions_with_empty_query = true;
|
||||||
|
context_aware = true;
|
||||||
|
refresh = true;
|
||||||
|
show_sub_when_single = true;
|
||||||
|
show_icon_when_single = true;
|
||||||
|
show_generic = true;
|
||||||
|
history = true;
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
enabled = true;
|
||||||
|
hide_category = false;
|
||||||
|
hide_without_query = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bookmarks = {
|
||||||
|
weight = 5;
|
||||||
|
placeholder = "Bookmarks";
|
||||||
|
name = "bookmarks";
|
||||||
|
icon = "bookmark";
|
||||||
|
switcher_only = true;
|
||||||
|
|
||||||
|
entries = [
|
||||||
|
{
|
||||||
|
label = "Walker";
|
||||||
|
url = "https://github.com/abenz1267/walker";
|
||||||
|
keywords = ["walker" "github"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
xdph_picker = {
|
||||||
|
hidden = true;
|
||||||
|
weight = 5;
|
||||||
|
placeholder = "Screen/Window Picker";
|
||||||
|
show_sub_when_single = true;
|
||||||
|
name = "xdphpicker";
|
||||||
|
switcher_only = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
ai = {
|
||||||
|
weight = 5;
|
||||||
|
placeholder = "AI";
|
||||||
|
name = "ai";
|
||||||
|
icon = "help-browser";
|
||||||
|
switcher_only = true;
|
||||||
|
show_sub_when_single = true;
|
||||||
|
|
||||||
|
anthropic = {
|
||||||
|
prompts = [
|
||||||
|
{
|
||||||
|
model = "claude-3-7-sonnet-20250219";
|
||||||
|
temperature = 1;
|
||||||
|
max_tokens = 1000;
|
||||||
|
label = "General Assistant";
|
||||||
|
prompt = "You are a helpful general assistant. Keep your answers short and precise.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
calc = {
|
||||||
|
require_number = true;
|
||||||
|
weight = 5;
|
||||||
|
name = "calc";
|
||||||
|
icon = "accessories-calculator";
|
||||||
|
placeholder = "Calculator";
|
||||||
|
min_chars = 4;
|
||||||
|
};
|
||||||
|
|
||||||
|
windows = {
|
||||||
|
weight = 5;
|
||||||
|
icon = "view-restore";
|
||||||
|
name = "windows";
|
||||||
|
placeholder = "Windows";
|
||||||
|
show_icon_when_single = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
clipboard = {
|
||||||
|
always_put_new_on_top = true;
|
||||||
|
exec = "wl-copy";
|
||||||
|
weight = 5;
|
||||||
|
name = "clipboard";
|
||||||
|
avoid_line_breaks = true;
|
||||||
|
placeholder = "Clipboard";
|
||||||
|
image_height = 300;
|
||||||
|
max_entries = 10;
|
||||||
|
switcher_only = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
commands = {
|
||||||
|
weight = 5;
|
||||||
|
icon = "utilities-terminal";
|
||||||
|
switcher_only = true;
|
||||||
|
name = "commands";
|
||||||
|
placeholder = "Commands";
|
||||||
|
};
|
||||||
|
|
||||||
|
custom_commands = {
|
||||||
|
weight = 5;
|
||||||
|
icon = "utilities-terminal";
|
||||||
|
name = "custom_commands";
|
||||||
|
placeholder = "Custom Commands";
|
||||||
|
};
|
||||||
|
|
||||||
|
emojis = {
|
||||||
|
exec = "wl-copy";
|
||||||
|
weight = 5;
|
||||||
|
name = "emojis";
|
||||||
|
placeholder = "Emojis";
|
||||||
|
switcher_only = true;
|
||||||
|
history = true;
|
||||||
|
typeahead = true;
|
||||||
|
show_unqualified = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
symbols = {
|
||||||
|
after_copy = "";
|
||||||
|
weight = 5;
|
||||||
|
name = "symbols";
|
||||||
|
placeholder = "Symbols";
|
||||||
|
switcher_only = true;
|
||||||
|
history = true;
|
||||||
|
typeahead = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
finder = {
|
||||||
|
use_fd = false;
|
||||||
|
fd_flags = "--ignore-vcs --type file";
|
||||||
|
weight = 5;
|
||||||
|
icon = "file";
|
||||||
|
name = "finder";
|
||||||
|
placeholder = "Finder";
|
||||||
|
switcher_only = true;
|
||||||
|
ignore_gitignore = true;
|
||||||
|
refresh = true;
|
||||||
|
concurrency = 8;
|
||||||
|
show_icon_when_single = true;
|
||||||
|
preview_images = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
runner = {
|
||||||
|
eager_loading = true;
|
||||||
|
weight = 5;
|
||||||
|
icon = "utilities-terminal";
|
||||||
|
name = "runner";
|
||||||
|
placeholder = "Runner";
|
||||||
|
typeahead = true;
|
||||||
|
history = true;
|
||||||
|
generic_entry = false;
|
||||||
|
refresh = true;
|
||||||
|
use_fd = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
ssh = {
|
||||||
|
weight = 5;
|
||||||
|
icon = "preferences-system-network";
|
||||||
|
name = "ssh";
|
||||||
|
placeholder = "SSH";
|
||||||
|
switcher_only = true;
|
||||||
|
history = true;
|
||||||
|
refresh = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
switcher = {
|
||||||
|
weight = 5;
|
||||||
|
name = "switcher";
|
||||||
|
placeholder = "Switcher";
|
||||||
|
prefix = "/";
|
||||||
|
};
|
||||||
|
|
||||||
|
websearch = {
|
||||||
|
keep_selection = true;
|
||||||
|
weight = 5;
|
||||||
|
icon = "applications-internet";
|
||||||
|
name = "websearch";
|
||||||
|
placeholder = "Websearch";
|
||||||
|
|
||||||
|
entries = [
|
||||||
|
{
|
||||||
|
name = "searx";
|
||||||
|
url = "https://search.zoeys.cloud/searx/search?q=%TERM%";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
dmenu = {
|
||||||
|
hidden = true;
|
||||||
|
weight = 5;
|
||||||
|
name = "dmenu";
|
||||||
|
placeholder = "Dmenu";
|
||||||
|
switcher_only = true;
|
||||||
|
show_icon_when_single = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
translation = {
|
||||||
|
delay = 1000;
|
||||||
|
weight = 5;
|
||||||
|
name = "translation";
|
||||||
|
icon = "accessories-dictionary";
|
||||||
|
placeholder = "Translation";
|
||||||
|
switcher_only = true;
|
||||||
|
provider = "googlefree";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -94,10 +94,10 @@ in {
|
||||||
};
|
};
|
||||||
font = {
|
font = {
|
||||||
size = 16.0;
|
size = 16.0;
|
||||||
normal = cfg.fonts.normal;
|
normal = fonts.mono;
|
||||||
bold = cfg.fonts.bold;
|
bold = "${fonts.mono} Bold";
|
||||||
italic = cfg.fonts.italic;
|
italic = "${fonts.mono} Italic";
|
||||||
bold_italic = cfg.fonts.bold_italic;
|
bold_italic = "${fonts.mono} Bold Italic";
|
||||||
|
|
||||||
offset = {
|
offset = {
|
||||||
x = 0;
|
x = 0;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
font = "Iosevka:weight=bold:size=20";
|
font = "${fonts.mono}:weight=bold:size=20";
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
alpha = "0.9";
|
alpha = "0.9";
|
||||||
|
|
|
||||||
|
|
@ -10,27 +10,6 @@ with lib.custom; let
|
||||||
in {
|
in {
|
||||||
options.apps.term.ghostty = with types; {
|
options.apps.term.ghostty = with types; {
|
||||||
enable = mkBoolOpt false "Enable Ghostty Term";
|
enable = mkBoolOpt false "Enable Ghostty Term";
|
||||||
|
|
||||||
fonts = {
|
|
||||||
# normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
|
|
||||||
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
|
|
||||||
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
|
|
||||||
# bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
|
||||||
# normal = mkStringOpt "Pragmata Pro Mono" "Normal Font";
|
|
||||||
# bold = mkStringOpt "Pragmata Pro Mono" "Bold Font";
|
|
||||||
# italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
|
|
||||||
# bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
|
|
||||||
|
|
||||||
normal = mkStringOpt "Cozette" "Normal";
|
|
||||||
bold = mkStringOpt "Cozette" "Bold";
|
|
||||||
italic = mkStringOpt "Cozette" "Italic";
|
|
||||||
bold_italic = mkStringOpt "Cozette" "Bold Italic";
|
|
||||||
|
|
||||||
# normal = mkStringOpt "Iosevka Nerd Font Mono" "Normal Font";
|
|
||||||
# bold = mkStringOpt "Iosevka Nerd Font Mono" "Bold Font";
|
|
||||||
# italic = mkStringOpt "Iosevka Nerd Font Mono" "Italic Font";
|
|
||||||
# bold_italic = mkStringOpt "Iosevka Nerd Font Mono" "Bold Italic Font";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
@ -38,7 +17,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
font-family = cfg.fonts.normal;
|
font-family = fonts.mono;
|
||||||
gtk-single-instance = true;
|
gtk-single-instance = true;
|
||||||
gtk-titlebar = false;
|
gtk-titlebar = false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,41 +10,26 @@ with lib.custom; let
|
||||||
in {
|
in {
|
||||||
options.apps.term.kitty = with types; {
|
options.apps.term.kitty = with types; {
|
||||||
enable = mkBoolOpt false "Enable Kitty Term";
|
enable = mkBoolOpt false "Enable Kitty Term";
|
||||||
|
|
||||||
fonts = {
|
|
||||||
# normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
|
|
||||||
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
|
|
||||||
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
|
|
||||||
# bold_italic = mkStringOpt "JetBrainsMoIosevka ExtraBold ItalicnoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
|
||||||
# normal = mkStringOpt "Kirsch Nerd Font Mono" "Normal Font";
|
|
||||||
# bold = mkStringOpt "Kirsch Nerd Font Mono" "BBoldold Font";
|
|
||||||
# italic = mkStringOpt "Kirsch Nerd Font Mono" "Italic Font";
|
|
||||||
# bold_italic = mkStringOpt "Kirsch Nerd Font Mono" "Bold Italic Font";
|
|
||||||
normal = mkStringOpt "PragmataPro Mono Liga" "Normal Font";
|
|
||||||
bold = mkStringOpt "PragmataPro Mono Liga Bold" "Bold Font";
|
|
||||||
italic = mkStringOpt "PragmataPro Mono Liga Italic" "Italic Font";
|
|
||||||
bold_italic = mkStringOpt "PragmataPro Mono Liga Bold Italic" "Bold Italic Font";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = cfg.fonts.normal;
|
name = fonts.mono;
|
||||||
size = 16;
|
size = 16;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
bold_font ${cfg.fonts.bold}
|
bold_font ${fonts.mono} Bold Italic
|
||||||
italic_font ${cfg.fonts.italic}
|
italic_font ${fonts.mono} Italic
|
||||||
bold_italic_font ${cfg.fonts.bold_italic}
|
bold_italic_font ${fonts.mono} Bold Italic
|
||||||
'';
|
'';
|
||||||
|
|
||||||
catppuccin.enable = true;
|
catppuccin.enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
window_padding_width = 12;
|
window_padding_width = 20;
|
||||||
# background_opacity = "0.9";
|
# background_opacity = "0.9";
|
||||||
background = colors.crust.hex;
|
background = colors.crust.hex;
|
||||||
foreground = colors.text.hex;
|
foreground = colors.text.hex;
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.rio = {
|
programs.rio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = inputs.rio-term.packages.${pkgs.system}.default;
|
|
||||||
settings = {
|
settings = {
|
||||||
window = {
|
window = {
|
||||||
opacity = 0.9;
|
opacity = 0.9;
|
||||||
|
|
@ -32,27 +31,27 @@ in {
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
regular = {
|
regular = {
|
||||||
family = "Iosevka";
|
family = fonts.mono;
|
||||||
style = "Normal";
|
style = "Normal";
|
||||||
weight = 700;
|
weight = 400;
|
||||||
};
|
};
|
||||||
|
|
||||||
bold = {
|
bold = {
|
||||||
family = "Iosevka";
|
family = fonts.mono;
|
||||||
style = "Normal";
|
style = "Normal";
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
|
|
||||||
italic = {
|
|
||||||
family = "Iosevka";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 700;
|
weight = 700;
|
||||||
};
|
};
|
||||||
|
|
||||||
bold-italic = {
|
italic = {
|
||||||
family = "Iosevka";
|
family = fonts.mono;
|
||||||
style = "Italic";
|
style = "Italic";
|
||||||
weight = 800;
|
weight = 400;
|
||||||
|
};
|
||||||
|
|
||||||
|
bold-italic = {
|
||||||
|
family = fonts.mono;
|
||||||
|
style = "Italic";
|
||||||
|
weight = 700;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
font = {
|
font = {
|
||||||
name = "Adwaita Sans";
|
name = fonts.ui;
|
||||||
size = 11;
|
size = 12;
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = {
|
theme = {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ in {
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
ZSH_AUTOSUGGEST_USE_ASYNC = "true";
|
ZSH_AUTOSUGGEST_USE_ASYNC = "true";
|
||||||
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
|
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
|
||||||
FLAKE = "/home/zoey/nixos/";
|
NH_FLAKE = "/home/zoey/nixos/";
|
||||||
};
|
};
|
||||||
# zprof.enable = true;
|
# zprof.enable = true;
|
||||||
history = {
|
history = {
|
||||||
|
|
@ -33,7 +33,7 @@ in {
|
||||||
ignoreSpace = true;
|
ignoreSpace = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
initExtra = let
|
initContent = let
|
||||||
sources = with pkgs; [
|
sources = with pkgs; [
|
||||||
"${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh"
|
"${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh"
|
||||||
"${zsh-history}/share/zsh/init.zsh"
|
"${zsh-history}/share/zsh/init.zsh"
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hardware.pulseaudio.enable = false;
|
services.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -112,9 +112,28 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot.kernelParams = ["intel_iommu=on" "iommu=pt"];
|
boot.kernelParams = ["intel_iommu=on" "iommu=pt" "transparent_hugepage=always"];
|
||||||
boot.kernelModules = ["vfio-pci"];
|
boot.kernelModules = ["vfio-pci"];
|
||||||
|
|
||||||
|
# CachyOS-inspired system performance tweaks
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
# Virtual memory tweaks
|
||||||
|
"vm.swappiness" = 10;
|
||||||
|
"vm.dirty_background_ratio" = 5;
|
||||||
|
"vm.dirty_ratio" = 10;
|
||||||
|
"vm.vfs_cache_pressure" = 50;
|
||||||
|
"vm.max_map_count" = 16777216;
|
||||||
|
|
||||||
|
# Network optimizations
|
||||||
|
"net.core.netdev_max_backlog" = 16384;
|
||||||
|
"net.ipv4.tcp_fastopen" = 3;
|
||||||
|
"net.ipv4.tcp_max_syn_backlog" = 8192;
|
||||||
|
"net.core.somaxconn" = 8192;
|
||||||
|
|
||||||
|
# IO scheduler optimizations
|
||||||
|
"kernel.sched_autogroup_enabled" = 0;
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.libvirtd = {
|
virtualisation.libvirtd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
onBoot = "ignore";
|
onBoot = "ignore";
|
||||||
|
|
@ -219,16 +238,6 @@ in {
|
||||||
text = stopScript;
|
text = stopScript;
|
||||||
mode = "0755";
|
mode = "0755";
|
||||||
};
|
};
|
||||||
|
|
||||||
"libvirt/hooks/qemu.d/bazzite/prepare/begin/start.sh" = {
|
|
||||||
text = startScript;
|
|
||||||
mode = "0755";
|
|
||||||
};
|
|
||||||
|
|
||||||
"libvirt/hooks/qemu.d/bazzite/release/end/stop.sh" = {
|
|
||||||
text = stopScript;
|
|
||||||
mode = "0755";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,14 +37,49 @@ in {
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
# Only available from driver 515.43.04+
|
# Only available from driver 515.43.04+
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
open = false;
|
open = true;
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
# Enable the Nvidia settings menu,
|
||||||
# accessible via `nvidia-settings`.
|
# accessible via `nvidia-settings`.
|
||||||
nvidiaSettings = false;
|
nvidiaSettings = false;
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
package = config.boot.kernelPackages.nvidiaPackages.beta.overrideAttrs {
|
||||||
|
patchesOpen = with pkgs; [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch";
|
||||||
|
hash = "sha256-tvdm8nxxXslPUun33zj1kkYZOiWKK3F4nwcCkdzPW9s=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0002-Add-IBT-support.patch";
|
||||||
|
hash = "sha256-JUT8FwBhyRhOWxwET7Zw/xkIl8g6UCLMXSTofr0OuSg=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0003-Kbuild-Convert-EXTRA_CFLAGS-to-ccflags-y.patch";
|
||||||
|
hash = "sha256-W+yyiK6TpEs9IACMr/0V7EIP++u7MPOfa9ko3w8Gqtc=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0004-kernel-open-nvidia-Use-new-timer-functions-for-6.15.patch";
|
||||||
|
hash = "sha256-T3SY2O6Pmc8BA0oana5xGGDhBxCizwmRqMyPvgF3j8A=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0005-nvidia-uvm-Use-__iowrite64_hi_lo.patch";
|
||||||
|
hash = "sha256-T8BNr1H1vgEQoKB0S5cqcbq6fSQxiDK9bb/MCvMtzTI";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0006-nvidia-uvm-Use-page_pgmap.patch";
|
||||||
|
hash = "sha256-YucFZ2Z7YSgUiah82uLOmd4Z/c5YLOXxzEZNO6ZvQQg=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0007-nvidia-uvm-Convert-make_device_exclusive_range-to-ma.patch";
|
||||||
|
hash = "sha256-AehV7D+yYBmE8FWsUiagnjB8V7S8RJSTNcVMwZIgw/I=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0008-kbuild-Add-workaround-for-GCC-15-Compilation.patch";
|
||||||
|
hash = "sha256-HrYBiAFy62Jll+ceVnGuJKGKDoaRObjAGIYa+yrAogA=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
|
|
|
||||||
|
|
@ -19,21 +19,15 @@ in {
|
||||||
sway
|
sway
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services = {
|
services.greetd = {
|
||||||
greetd = {
|
enable = true;
|
||||||
enable = false;
|
settings = {
|
||||||
settings = rec {
|
default_session = {
|
||||||
initial_session = {
|
command = "niri-session";
|
||||||
# command = "sway --unsupported-gpu";
|
|
||||||
command = "Hyprland";
|
|
||||||
user = "zoey";
|
user = "zoey";
|
||||||
};
|
};
|
||||||
default_session = initial_session;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
|
|
||||||
programs.uwsm = {
|
programs.uwsm = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
|
@ -88,10 +82,24 @@ in {
|
||||||
XDG_CACHE_HOME = "/home/zoey/.cache";
|
XDG_CACHE_HOME = "/home/zoey/.cache";
|
||||||
CLUTTER_BACKEND = "wayland";
|
CLUTTER_BACKEND = "wayland";
|
||||||
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
|
||||||
|
# # CachyOS-inspired Nvidia optimizations for gaming
|
||||||
|
# __GL_THREADED_OPTIMIZATIONS = "1";
|
||||||
|
# __GL_SHADER_DISK_CACHE = "1";
|
||||||
|
# __GL_SHADER_DISK_CACHE_SIZE = "1000000000";
|
||||||
|
# __GL_MaxFramesAllowed = "1"; # Reduces input latency
|
||||||
|
# __GL_YIELD = "USLEEP"; # Better CPU usage when GPU-bound
|
||||||
|
# DXVK_ASYNC = "1";
|
||||||
|
# DXVK_FRAME_RATE = "0"; # No frame rate cap from DXVK
|
||||||
|
# PROTON_ENABLE_NVAPI = "1";
|
||||||
|
# PROTON_HIDE_NVIDIA_GPU = "0";
|
||||||
|
# WINE_FULLSCREEN_FSR = "1"; # Enable FSR upscaling for Wine/Proton games
|
||||||
|
# MANGOHUD = "1"; # Enable MangoHud by default
|
||||||
|
# MANGOHUD_CONFIG = "cpu_temp,gpu_temp,vram,ram,position=top-left,height=500,font_size=20";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
services.pulseaudio.support32Bit = true;
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -20,17 +20,17 @@ in {
|
||||||
group = "users";
|
group = "users";
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers = {
|
# virtualisation.oci-containers = {
|
||||||
containers.jellyfin-vue = {
|
# containers.jellyfin-vue = {
|
||||||
image = "ghcr.io/jellyfin/jellyfin-vue:unstable";
|
# image = "ghcr.io/jellyfin/jellyfin-vue:unstable";
|
||||||
environment = {
|
# environment = {
|
||||||
"PUBLIC_JELLYFIN_API" = "http://localhost:8096";
|
# "PUBLIC_JELLYFIN_API" = "http://localhost:8096";
|
||||||
};
|
# };
|
||||||
ports = [
|
# ports = [
|
||||||
"8065:80"
|
# "8065:80"
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [8065];
|
networking.firewall.allowedTCPPorts = [8065];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -62,34 +62,55 @@ in {
|
||||||
noCvSs = true
|
noCvSs = true
|
||||||
exportGlyphNames = true
|
exportGlyphNames = true
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.variants]
|
|
||||||
inherits = "ss17"
|
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.variants.design]
|
[buildPlans.IosevkaCustom.variants.design]
|
||||||
capital-e = "top-left-serifed"
|
one = "base-flat-top-serif"
|
||||||
capital-u = "toothed-bottom-right-serifed"
|
two = "straight-neck-serifless"
|
||||||
f = "tailed"
|
four = "closed-serifless"
|
||||||
m = "short-leg-top-left-and-bottom-right-serifed"
|
five = "oblique-arched-serifless"
|
||||||
paren = "flat-arc"
|
six = "closed-contour"
|
||||||
|
seven = "bend-serifless"
|
||||||
[buildPlans.IosevkaCustom.ligations]
|
eight = "crossing-asymmetric"
|
||||||
inherits = "dlig"
|
nine = "closed-contour"
|
||||||
|
zero = "oval-dotted"
|
||||||
|
capital-d = "more-rounded-serifless"
|
||||||
|
capital-g = "toothless-corner-serifless-hooked"
|
||||||
|
a = "double-storey-serifless"
|
||||||
|
g = "double-storey"
|
||||||
|
i = "hooky"
|
||||||
|
l = "serifed-semi-tailed"
|
||||||
|
r = "hookless-serifless"
|
||||||
|
t = "bent-hook-short-neck"
|
||||||
|
w = "straight-flat-top-serifless"
|
||||||
|
y = "straight-turn-serifless"
|
||||||
|
capital-eszet = "rounded-serifless"
|
||||||
|
long-s = "bent-hook-middle-serifed"
|
||||||
|
eszet = "longs-s-lig-serifless"
|
||||||
|
lower-lambda = "straight-turn"
|
||||||
|
lower-tau = "short-tailed"
|
||||||
|
lower-phi = "straight"
|
||||||
|
partial-derivative = "closed-contour"
|
||||||
|
cyrl-capital-u = "straight-turn-serifless"
|
||||||
|
cyrl-u = "straight-turn-serifless"
|
||||||
|
cyrl-ef = "split-serifless"
|
||||||
|
asterisk = "penta-low"
|
||||||
|
caret = "high"
|
||||||
|
guillemet = "straight"
|
||||||
|
number-sign = "slanted"
|
||||||
|
dollar = "open"
|
||||||
|
cent = "through-cap"
|
||||||
|
bar = "force-upright"
|
||||||
|
micro-sign = "tailed-serifless"
|
||||||
|
lig-ltgteq = "slanted"
|
||||||
|
lig-neq = "more-slanted-dotted"
|
||||||
|
lig-equal-chain = "without-notch"
|
||||||
|
lig-hyphen-chain = "without-notch"
|
||||||
|
lig-plus-chain = "with-notch"
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.weights.Regular]
|
[buildPlans.IosevkaCustom.weights.Regular]
|
||||||
shape = 400
|
shape = 400
|
||||||
menu = 400
|
menu = 400
|
||||||
css = 400
|
css = 400
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.weights.Medium]
|
|
||||||
shape = 500
|
|
||||||
menu = 500
|
|
||||||
css = 500
|
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.weights.SemiBold]
|
|
||||||
shape = 600
|
|
||||||
menu = 600
|
|
||||||
css = 600
|
|
||||||
|
|
||||||
[buildPlans.IosevkaCustom.weights.Bold]
|
[buildPlans.IosevkaCustom.weights.Bold]
|
||||||
shape = 700
|
shape = 700
|
||||||
menu = 700
|
menu = 700
|
||||||
|
|
@ -114,6 +135,8 @@ in {
|
||||||
jetbrains-mono
|
jetbrains-mono
|
||||||
nerd-fonts.iosevka
|
nerd-fonts.iosevka
|
||||||
nerd-fonts.zed-mono
|
nerd-fonts.zed-mono
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
adwaita-fonts
|
adwaita-fonts
|
||||||
cozette
|
cozette
|
||||||
scientifica
|
scientifica
|
||||||
|
|
@ -126,12 +149,11 @@ in {
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
monospace = [
|
monospace = [
|
||||||
# "Pragmata Pro Mono"
|
fonts.mono
|
||||||
"Iosevka"
|
|
||||||
"Noto Color Emoji"
|
"Noto Color Emoji"
|
||||||
];
|
];
|
||||||
sansSerif = ["Adwaita Sans" "Noto Color Emoji"];
|
sansSerif = [fonts.ui "Noto Color Emoji"];
|
||||||
serif = ["Noto Serif" "Noto Color Emoji"];
|
serif = [fonts.ui "Noto Color Emoji"];
|
||||||
emoji = ["Noto Color Emoji"];
|
emoji = ["Noto Color Emoji"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,23 @@
|
||||||
memory.total = 32;
|
memory.total = 32;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# CachyOS-inspired additional native optimizations
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
# Override performance-critical packages with native optimizations
|
||||||
|
steam = pkgs.steam.override {
|
||||||
|
extraPkgs = pkgs:
|
||||||
|
with pkgs; [
|
||||||
|
libva
|
||||||
|
mesa
|
||||||
|
vulkan-loader
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
specialisation = {
|
specialisation = {
|
||||||
plasma6 = {
|
plasma6 = {
|
||||||
configuration = {
|
configuration = {
|
||||||
services.xserver.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
programs.seahorse.enable = lib.mkForce false;
|
programs.seahorse.enable = lib.mkForce false;
|
||||||
};
|
};
|
||||||
|
|
@ -57,7 +70,29 @@
|
||||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
};
|
};
|
||||||
programs.steam.gamescopeSession.enable = true;
|
programs.steam.gamescopeSession.enable = true;
|
||||||
programs.gamemode.enable = true;
|
# programs.gamemode = {
|
||||||
|
# enable = true;
|
||||||
|
# settings = {
|
||||||
|
# general = {
|
||||||
|
# renice = 10; # Higher process priority for games
|
||||||
|
# ioprio = 0; # Highest I/O priority
|
||||||
|
# inhibit_screensaver = 1; # Prevent screensaver
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# gpu = {
|
||||||
|
# gpu_device = 0; # GPU device index to use
|
||||||
|
# apply_gpu_optimisations = 1; # Apply GPU optimizations
|
||||||
|
# gpu_core_clock_mhz = 0; # Don't override core clock
|
||||||
|
# gpu_mem_clock_mhz = 0; # Don't override memory clock
|
||||||
|
# gpu_powermizer_mode = 1; # Maximum performance mode
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# custom = {
|
||||||
|
# start = "${pkgs.libnotify}/bin/notify-send 'GameMode enabled' 'System optimizations activated'";
|
||||||
|
# end = "${pkgs.libnotify}/bin/notify-send 'GameMode disabled' 'System returned to normal'";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
ui.fonts.enable = true;
|
ui.fonts.enable = true;
|
||||||
|
|
||||||
|
|
@ -112,15 +147,23 @@
|
||||||
# insertNameservers = ["1.1.1.1" "1.0.0.1"];
|
# insertNameservers = ["1.1.1.1" "1.0.0.1"];
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
services.scx.enable = true;
|
||||||
boot.kernelPatches = [
|
services.scx.scheduler = "scx_rusty";
|
||||||
{
|
services.scx.package = pkgs.scx_git.full;
|
||||||
name = "bsb-patches";
|
|
||||||
patch = pkgs.fetchpatch {
|
boot.kernelPackages = pkgs.linuxPackages_cachyos-lto;
|
||||||
url = "https://gist.githubusercontent.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch";
|
# CachyOS-inspired kernel parameters for better desktop responsiveness and gaming
|
||||||
hash = "sha256-u8O4foBHhU+T3yYkguBZ14EyCKujPzHh1TwFRg6GMsA=";
|
boot.kernelParams = [
|
||||||
};
|
"nowatchdog"
|
||||||
}
|
"preempt=full"
|
||||||
|
"threadirqs"
|
||||||
|
"tsc=reliable"
|
||||||
|
"clocksource=tsc"
|
||||||
|
"futex.futex2_interface=1" # Better Wine/Proton compatibility
|
||||||
|
"NVreg_UsePageAttributeTable=1" # Improved GPU memory management
|
||||||
|
"io_uring.sqpoll=2" # Modern I/O scheduler polling
|
||||||
|
"transparent_hugepage=madvise" # Better memory management
|
||||||
|
"elevator=bfq" # Better I/O scheduling for gaming
|
||||||
];
|
];
|
||||||
boot.supportedFilesystems = ["ntfs"];
|
boot.supportedFilesystems = ["ntfs"];
|
||||||
|
|
||||||
|
|
@ -145,9 +188,13 @@
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.sbctl
|
pkgs.sbctl
|
||||||
lib.custom.nixos-stable.vesktop
|
|
||||||
pkgs.mangohud
|
pkgs.mangohud
|
||||||
pkgs.lutris
|
(pkgs.lutris.override {
|
||||||
|
extraPkgs = pkgs: [
|
||||||
|
pkgs.wineWowPackages.stagingFull
|
||||||
|
pkgs.winetricks
|
||||||
|
];
|
||||||
|
})
|
||||||
pkgs.bottles
|
pkgs.bottles
|
||||||
pkgs.file-roller
|
pkgs.file-roller
|
||||||
pkgs.podman-tui
|
pkgs.podman-tui
|
||||||
|
|
@ -158,90 +205,18 @@
|
||||||
pkgs.protonup-qt
|
pkgs.protonup-qt
|
||||||
pkgs.restic
|
pkgs.restic
|
||||||
pkgs.qt5.qtwayland
|
pkgs.qt5.qtwayland
|
||||||
(inputs.umu.packages.${system}.umu.override {
|
pkgs.vkBasalt # Vulkan post-processing layer for better visuals
|
||||||
version = inputs.umu.shortRev;
|
pkgs.goverlay # MangoHud and vkBasalt GUI configurator
|
||||||
truststore = true;
|
pkgs.cpupower-gui # CPU frequency control GUI
|
||||||
cbor2 = true;
|
pkgs.ananicy-cpp # Process priority daemon
|
||||||
|
(inputs.umu.packages.${system}.umu-launcher.override {
|
||||||
|
withTruststore = true;
|
||||||
|
withDeltaUpdates = true;
|
||||||
})
|
})
|
||||||
inputs.agenix.packages.${system}.agenix
|
inputs.agenix.packages.${system}.agenix
|
||||||
inputs.awsvpnclient.packages.${system}.awsvpnclient
|
inputs.awsvpnclient.packages.${system}.awsvpnclient
|
||||||
|
|
||||||
pkgs.nautilus-python
|
|
||||||
(pkgs.writeTextFile {
|
|
||||||
name = "nautilus-open-kitty-here";
|
|
||||||
destination = "/share/nautilus-python/extensions/open-kitty-here.py";
|
|
||||||
text = ''
|
|
||||||
import os
|
|
||||||
import gi
|
|
||||||
gi.require_version('Nautilus', '3.0')
|
|
||||||
from gi.repository import Nautilus, GObject
|
|
||||||
|
|
||||||
class OpenKittyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
|
|
||||||
def __init__(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def menu_activate_cb(self, menu, file):
|
|
||||||
if file.is_directory():
|
|
||||||
path = file.get_location().get_path()
|
|
||||||
else:
|
|
||||||
path = file.get_parent_location().get_path()
|
|
||||||
os.system(f'kitty --directory "{path}" &')
|
|
||||||
|
|
||||||
def get_file_items(self, window, files):
|
|
||||||
if len(files) != 1:
|
|
||||||
return
|
|
||||||
|
|
||||||
file = files[0]
|
|
||||||
item = Nautilus.MenuItem(
|
|
||||||
name='OpenKittyTerminalExtension::OpenKitty',
|
|
||||||
label='Open in Kitty',
|
|
||||||
tip='Opens Kitty terminal in this location'
|
|
||||||
)
|
|
||||||
item.connect('activate', self.menu_activate_cb, file)
|
|
||||||
return [item]
|
|
||||||
|
|
||||||
def get_background_items(self, window, file):
|
|
||||||
item = Nautilus.MenuItem(
|
|
||||||
name='OpenKittyTerminalExtension::OpenKitty',
|
|
||||||
label='Open in Kitty',
|
|
||||||
tip='Opens Kitty terminal in this location'
|
|
||||||
)
|
|
||||||
item.connect('activate', self.menu_activate_cb, file)
|
|
||||||
return [item]
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Create a custom monitors.xml for GDM
|
|
||||||
environment.etc."gdm/monitors.xml" = {
|
|
||||||
mode = "0644";
|
|
||||||
text = ''
|
|
||||||
<monitors version="2">
|
|
||||||
<configuration>
|
|
||||||
<logicalmonitor>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<primary>yes</primary>
|
|
||||||
<scale>1</scale>
|
|
||||||
<monitor>
|
|
||||||
<monitorspec>
|
|
||||||
<connector>DP-3</connector> <!-- Change to your actual connector -->
|
|
||||||
<vendor>YOUR_VENDOR</vendor> <!-- Optional, can be left as is -->
|
|
||||||
<product>YOUR_PRODUCT</product> <!-- Optional, can be left as is -->
|
|
||||||
<serial>YOUR_SERIAL</serial> <!-- Optional, can be left as is -->
|
|
||||||
</monitorspec>
|
|
||||||
<mode>
|
|
||||||
<width>2560</width>
|
|
||||||
<height>1440</height>
|
|
||||||
<rate>240</rate> <!-- 240Hz refresh rate -->
|
|
||||||
</mode>
|
|
||||||
</monitor>
|
|
||||||
</logicalmonitor>
|
|
||||||
</configuration>
|
|
||||||
</monitors>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.fuse.userAllowOther = true;
|
programs.fuse.userAllowOther = true;
|
||||||
users.users.zoey = {
|
users.users.zoey = {
|
||||||
|
|
@ -277,7 +252,7 @@
|
||||||
services.samba = {
|
services.samba = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
shares = {
|
settings = {
|
||||||
"SteamLibrary" = {
|
"SteamLibrary" = {
|
||||||
path = "/mnt/bk"; # Update this path to your drive's mount point
|
path = "/mnt/bk"; # Update this path to your drive's mount point
|
||||||
browseable = true;
|
browseable = true;
|
||||||
|
|
@ -293,6 +268,18 @@
|
||||||
catppuccin.enable = true;
|
catppuccin.enable = true;
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
|
# Enable Ananicy for automatic process priority management
|
||||||
|
services.ananicy = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ananicy-cpp;
|
||||||
|
rulesProvider = pkgs.ananicy-rules-cachyos;
|
||||||
|
};
|
||||||
|
|
||||||
|
# CPU frequency governor always set to performance for desktop
|
||||||
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
sites.jellyfin.enable = true;
|
sites.jellyfin.enable = true;
|
||||||
sites.mealie.enable = false;
|
sites.mealie.enable = false;
|
||||||
|
|
||||||
|
|
@ -302,7 +289,6 @@
|
||||||
dockerCompat = true;
|
dockerCompat = true;
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
};
|
};
|
||||||
virtualisation.waydroid.enable = true;
|
|
||||||
hardware.gpu-passthru.enable = true;
|
hardware.gpu-passthru.enable = true;
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue