Compare commits
No commits in common. "484a8df77b348e27ba27a754cb72722b1f5f5e89" and "98244e7ecfbdf9e6d0e92384e909e57abe640ce1" have entirely different histories.
484a8df77b
...
98244e7ecf
14 changed files with 22 additions and 550 deletions
|
|
@ -57,7 +57,7 @@
|
||||||
# i be on my puter fr
|
# i be on my puter fr
|
||||||
myputer = nixpkgs.lib.nixosSystem {
|
myputer = nixpkgs.lib.nixosSystem {
|
||||||
# nix passes these to every single module
|
# nix passes these to every single module
|
||||||
specialArgs = {inherit inputs pkgs-unstable;};
|
specialArgs = {inherit inputs;};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/myputer
|
./hosts/myputer
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
|
|
||||||
# my laptop 0w0
|
# my laptop 0w0
|
||||||
lolcathost = nixpkgs.lib.nixosSystem {
|
lolcathost = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs pkgs-unstable;};
|
specialArgs = {inherit inputs;};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/lolcathost
|
./hosts/lolcathost
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -16,12 +15,11 @@
|
||||||
|
|
||||||
../modules/btop.nix
|
../modules/btop.nix
|
||||||
../modules/term/ghostty.nix
|
../modules/term/ghostty.nix
|
||||||
../modules/term/foot.nix
|
|
||||||
# ../modules/term/rio.nix
|
# ../modules/term/rio.nix
|
||||||
../modules/firefox.nix
|
../modules/firefox.nix
|
||||||
|
|
||||||
#../modules/wm/hypr/hypridle.nix
|
#../modules/hypr/hypridle.nix
|
||||||
../modules/wm/hypr/hyprlock.nix
|
../modules/hypr/hyprlock.nix
|
||||||
../modules/kanshi.nix
|
../modules/kanshi.nix
|
||||||
../modules/ags
|
../modules/ags
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -131,8 +131,6 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "c";
|
name = "c";
|
||||||
file-types = ["c" "h"]; # use .hpp for C++
|
|
||||||
auto-format = false;
|
|
||||||
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||||
language-servers = ["clangd"];
|
language-servers = ["clangd"];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,19 +45,8 @@
|
||||||
end
|
end
|
||||||
|
|
||||||
set -g fish_greeting (rand_greet)
|
set -g fish_greeting (rand_greet)
|
||||||
|
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
brip = "batgrep"; # bat + ripgrep
|
|
||||||
man = "batman"; # bat + man
|
|
||||||
ls = "eza --color=auto";
|
|
||||||
l = "eza -Alh --color=auto --icons=auto";
|
|
||||||
ll = "eza -lh --color=auto --icons=auto";
|
|
||||||
li = "eza --color=auto --git-ignore";
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
name = "grc";
|
name = "grc";
|
||||||
|
|
|
||||||
|
|
@ -1,327 +0,0 @@
|
||||||
{pkgs-unstable, ...}: {
|
|
||||||
programs.foot = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs-unstable.foot;
|
|
||||||
|
|
||||||
server.enable = true;
|
|
||||||
|
|
||||||
settings = let
|
|
||||||
none = "\"\"";
|
|
||||||
in {
|
|
||||||
main = {
|
|
||||||
term = "foot"; # set $TERM
|
|
||||||
login-shell = "no";
|
|
||||||
title = "foot";
|
|
||||||
locked-title = "no";
|
|
||||||
|
|
||||||
# font = "GeistMono Nerd Font:size=12";
|
|
||||||
# font = "Mononoki Nerd Font Mono:size=12";
|
|
||||||
# font = "0xProto Nerd Font Mono:size=12";
|
|
||||||
font = "JetBrainsMonoNL Nerd Font:size=12";
|
|
||||||
# font-bold = "";
|
|
||||||
# font-italice = "";
|
|
||||||
# font-bold-italice = "";
|
|
||||||
# font-size-adjustment = 0.5;
|
|
||||||
# line-height = ...;
|
|
||||||
# letter-spacing = 0;
|
|
||||||
# horizontal-letter-offset = 0;
|
|
||||||
# vertical-letter-offset = 0;
|
|
||||||
# underline-offset = ...;
|
|
||||||
# underline-thickness = ...;
|
|
||||||
# strikeout-thickness = ...;
|
|
||||||
box-drawings-uses-font-glyphs = "no";
|
|
||||||
dpi-aware = "no";
|
|
||||||
gamma-correct-blending = "no";
|
|
||||||
|
|
||||||
initial-color-theme = "1";
|
|
||||||
# initial-window-size-pixels = "700x500"; # pixel COLSxROWS
|
|
||||||
initial-window-size-chars = "90x26"; # char COLSxROWS
|
|
||||||
initial-window-mode = "windowed";
|
|
||||||
pad = "32x32 center-when-maximized-and-fullscreen";
|
|
||||||
resize-by-cells = "yes";
|
|
||||||
resize-keep-grid = "yes";
|
|
||||||
resize-delay-ms = "100";
|
|
||||||
|
|
||||||
bold-text-in-bright = "no";
|
|
||||||
word-delimiters = ",│`|:\"'()[]{}<>";
|
|
||||||
selection-target = "primary";
|
|
||||||
# workers = ...; # number of logical CPUs
|
|
||||||
};
|
|
||||||
|
|
||||||
# environment = {
|
|
||||||
# name = "value";
|
|
||||||
# }
|
|
||||||
|
|
||||||
security = {
|
|
||||||
osc52 = "enabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
bell = {
|
|
||||||
system = "no";
|
|
||||||
urgent = "no";
|
|
||||||
notify = "no";
|
|
||||||
visual = "no";
|
|
||||||
# command = ...;
|
|
||||||
# command-focused = "no";
|
|
||||||
};
|
|
||||||
|
|
||||||
desktop-notifications = {
|
|
||||||
command = "notify-send --wait --app-name \${app-id} --icon \${app-id} --category \${category} --urgency \${urgency} --expire-time \${expire-time} --hint STRING:image-path:\${icon} --hint BOOLEAN:suppress-sound:\${muted} --hint STRING:sound-name:\${sound-name} --replace-id \${replace-id} \${action-argument} --print-id -- \${title} \${body}";
|
|
||||||
command-action-argument = "--action \${action-name=\${action-label}}";
|
|
||||||
close = none;
|
|
||||||
inhibit-when-focused = "no";
|
|
||||||
};
|
|
||||||
|
|
||||||
scrollback = {
|
|
||||||
lines = 1000;
|
|
||||||
multiplier = 1.0;
|
|
||||||
indicator-position = "relative";
|
|
||||||
indicator-format = none;
|
|
||||||
};
|
|
||||||
|
|
||||||
url = {
|
|
||||||
launch = "xdg-open \${url}";
|
|
||||||
label-letters = "sadfjklewcmpgh";
|
|
||||||
osc8-underline = "url-mode";
|
|
||||||
regex = "(((https?://|mailto:|ftp://|file:|ssh:|ssh://|git://|tel:|magnet:|ipfs://|ipns://|gemini://|gopher://|news:)|www\\.)([0-9a-zA-Z:/?#@!$&*+,;=.~_%^\\-]+|\\([]\\[\"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\\)|\\[[\\(\\)\"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\\]|\"[]\\[\\(\\)0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\"|'[]\\[\\(\\)0-9a-zA-Z:/?#@!$&*+,;=.~_%^\\-]*')+([0-9a-zA-Z/#@$&*+=~_%^\\-]|\\([]\\[\"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\\)|\\[[\\(\\)\"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\\]|\"[]\\[\\(\\)0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\\-]*\"|'[]\\[\\(\\)0-9a-zA-Z:/?#@!$&*+,;=.~_%^\\-]*'))";
|
|
||||||
};
|
|
||||||
|
|
||||||
# "regex:your-fancy-name" = {
|
|
||||||
# regex = ...;
|
|
||||||
# launch = "[path to script/application] \${match}"
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# key-bindings = {
|
|
||||||
# regex-launch = "[your-fancy-name] Control+Shift+q";
|
|
||||||
# regex-copy = "[your-fancy-name] Control+Alt+shift+q";
|
|
||||||
# };
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
style = "block";
|
|
||||||
blink = "no";
|
|
||||||
# blink-rate = 500;
|
|
||||||
beam-thickness = 1.0;
|
|
||||||
# underline-thickness = ...;
|
|
||||||
};
|
|
||||||
|
|
||||||
mouse = {
|
|
||||||
hide-when-typing = "yes";
|
|
||||||
alternate-scroll-mode = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
touch = {
|
|
||||||
long-press-delay = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Theme: Dracula
|
|
||||||
# REF: https://github.com/dracula/foot
|
|
||||||
colors = {
|
|
||||||
alpha = 1.0;
|
|
||||||
alpha-mode = "default"; # default/matching/all
|
|
||||||
|
|
||||||
background = "282a36";
|
|
||||||
foreground = "f8f8f2";
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
regular0 = "21222c"; # black
|
|
||||||
regular1 = "ff5555"; # red
|
|
||||||
regular2 = "50fa7b"; # green
|
|
||||||
regular3 = "f1fa8c"; # yellow
|
|
||||||
regular4 = "bd93f9"; # blue
|
|
||||||
regular5 = "ff79c6"; # magenta
|
|
||||||
regular6 = "8be9fd"; # cyan
|
|
||||||
regular7 = "f8f8f2"; # white
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
bright0 = "6272a4"; # bright black
|
|
||||||
bright1 = "ff6e6e"; # bright red
|
|
||||||
bright2 = "69ff94"; # bright green
|
|
||||||
bright3 = "ffffa5"; # bright yellow
|
|
||||||
bright4 = "d6acff"; # bright blue
|
|
||||||
bright5 = "ff92df"; # bright magenta
|
|
||||||
bright6 = "a4ffff"; # bright cyan
|
|
||||||
bright7 = "ffffff"; # bright white
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
selection-foreground = "ffffff";
|
|
||||||
selection-background = "44475a";
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
urls = "8be9fd";
|
|
||||||
|
|
||||||
flash = "7f7f00";
|
|
||||||
flash-alpha = 0.5;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Alternative colour palette (see `man 5 foot.ini`)
|
|
||||||
colors2 = {
|
|
||||||
alpha = 1.0;
|
|
||||||
alpha-mode = "default";
|
|
||||||
|
|
||||||
background = "191724";
|
|
||||||
foreground = "e0def4";
|
|
||||||
|
|
||||||
regular0 = "26233a"; # black (Overlay)
|
|
||||||
regular1 = "eb6f92"; # red (Love)
|
|
||||||
regular2 = "9ccfd8"; # green (Foam)
|
|
||||||
regular3 = "f6c177"; # yellow (Gold)
|
|
||||||
regular4 = "31748f"; # blue (Pine)
|
|
||||||
regular5 = "c4a7e7"; # magenta (Iris)
|
|
||||||
regular6 = "ebbcba"; # cyan (Rose)
|
|
||||||
regular7 = "e0def4"; # white (Text)
|
|
||||||
|
|
||||||
bright0 = "47435d"; # bright black (lighter Overlay)
|
|
||||||
bright1 = "ff98ba"; # bright red (lighter Love)
|
|
||||||
bright2 = "c5f9ff"; # bright green (lighter Foam)
|
|
||||||
bright3 = "ffeb9e"; # bright yellow (lighter Gold)
|
|
||||||
bright4 = "5b9ab7"; # bright blue (lighter Pine)
|
|
||||||
bright5 = "eed0ff"; # bright magenta (lighter Iris)
|
|
||||||
bright6 = "ffe5e3"; # bright cyan (lighter Rose)
|
|
||||||
bright7 = "fefcff"; # bright white (lighter Text)
|
|
||||||
|
|
||||||
selection-foreground = "ffffff";
|
|
||||||
selection-background = "393553";
|
|
||||||
|
|
||||||
urls = "ebbcba"; # Rose
|
|
||||||
|
|
||||||
flash = "f6c177"; # yellow (Gold)
|
|
||||||
flash-alpha = 0.5;
|
|
||||||
|
|
||||||
cursor = "191724 e0def4";
|
|
||||||
};
|
|
||||||
|
|
||||||
# csd = {
|
|
||||||
# preferred = "server";
|
|
||||||
# size = 26;
|
|
||||||
# font = ...;
|
|
||||||
# color = ...; # foreground color
|
|
||||||
# hide-when-maximized = "no";
|
|
||||||
# border-width = 0;
|
|
||||||
# border-color = ...;
|
|
||||||
# button-width = 26;
|
|
||||||
# button-color = ...; # background color
|
|
||||||
# button-minimize-color = ...;
|
|
||||||
# button-maximize-color = ...;
|
|
||||||
# button-close-color = ...;
|
|
||||||
# };
|
|
||||||
|
|
||||||
key-bindings = {
|
|
||||||
scrollback-up-page = "Shift+Page_Up Shift+KP_Page_Up";
|
|
||||||
# scrollback-up-half-page = "none";
|
|
||||||
# scrollback-up-line = "none";
|
|
||||||
scrollback-down-page = "Shift+Page_Down Shift+KP_Page_Down";
|
|
||||||
# scrollback-down-half-page = "none";
|
|
||||||
# scrollback-down-line = "none";
|
|
||||||
# scrollback-home = "none";
|
|
||||||
# scrollback-end = "none";
|
|
||||||
|
|
||||||
clipboard-copy = "Control+Shift+c XF86Copy";
|
|
||||||
clipboard-paste = "Control+Shift+v XF86Paste";
|
|
||||||
primary-paste = "Shift+Insert";
|
|
||||||
search-start = "Control+Shift+r";
|
|
||||||
|
|
||||||
font-increase = "Control+plus Control+equal Control+KP_Add";
|
|
||||||
font-decrease = "Control+minus Control+KP_Subtract";
|
|
||||||
font-reset = "Control+0 Control+KP_0";
|
|
||||||
|
|
||||||
spawn-terminal = "Control+Shift+n";
|
|
||||||
# minimize = "none";
|
|
||||||
# maximize = "none";
|
|
||||||
# fullscreen = "none";
|
|
||||||
|
|
||||||
pipe-visible = "[sh -c \"xurls | fuzzel | xargs -r firefox\"] none";
|
|
||||||
pipe-scrollback = "[sh -c \"xurls | fuzzel | xargs -r firefox\"] none";
|
|
||||||
pipe-selected = "[xargs -r firefox] none";
|
|
||||||
pipe-command-output = "[wl-copy] none";
|
|
||||||
|
|
||||||
show-urls-launch = "Control+Shift+o";
|
|
||||||
# show-urls-copy = "none";
|
|
||||||
# show-urls-persistent = "none";
|
|
||||||
|
|
||||||
prompt-prev = "Control+Shift+z";
|
|
||||||
prompt-next = "Control+Shift+x";
|
|
||||||
|
|
||||||
unicode-input = "Control+Shift+u";
|
|
||||||
# color-theme-switch-1 = "none";
|
|
||||||
# color-theme-switch-2 = "none";
|
|
||||||
color-theme-toggle = "Control+Alt+p";
|
|
||||||
|
|
||||||
# noop = "none";
|
|
||||||
# quit = "none";
|
|
||||||
};
|
|
||||||
|
|
||||||
search-bindings = {
|
|
||||||
cancel = "Control+g Control+c Escape";
|
|
||||||
commit = "Return KP_Enter";
|
|
||||||
|
|
||||||
find-prev = "Control+r";
|
|
||||||
find-next = "Control+s";
|
|
||||||
|
|
||||||
cursor-left = "Left Control+b";
|
|
||||||
cursor-left-word = "Control+Left Mod1+b";
|
|
||||||
cursor-right = "Right Control+f";
|
|
||||||
cursor-right-word = "Control+Right Mod1+f";
|
|
||||||
cursor-home = "Home Control+a";
|
|
||||||
cursor-end = "End Control+e";
|
|
||||||
|
|
||||||
delete-prev = "BackSpace";
|
|
||||||
delete-prev-word = "Mod1+BackSpace Control+BackSpace";
|
|
||||||
delete-next = "Delete";
|
|
||||||
delete-next-word = "Mod1+d Control+Delete";
|
|
||||||
delete-to-start = "Control+u";
|
|
||||||
delete-to-end = "Control+k";
|
|
||||||
|
|
||||||
extend-char = "Shift+Right";
|
|
||||||
extend-to-word-boundary = "Control+w Control+Shift+Right";
|
|
||||||
extend-to-next-whitespace = "Control+Shift+w";
|
|
||||||
extend-line-down = "Shift+Down";
|
|
||||||
extend-backward-char = "Shift+Left";
|
|
||||||
extend-backward-to-word-boundary = "Control+Shift+Left";
|
|
||||||
# extend-backward-to-next-whitespace = "none";
|
|
||||||
extend-line-up = "Shift+Up";
|
|
||||||
|
|
||||||
clipboard-paste = "Control+v Control+Shift+v Control+y XF86Paste";
|
|
||||||
primary-paste = "Shift+Insert";
|
|
||||||
|
|
||||||
# unicode-input = "none";
|
|
||||||
|
|
||||||
scrollback-up-page = "Shift+Page_Up Shift+KP_Page_Up";
|
|
||||||
# scrollback-up-half-page = "none";
|
|
||||||
# scrollback-up-line = "none";
|
|
||||||
scrollback-down-page = "Shift+Page_Down Shift+KP_Page_Down";
|
|
||||||
# scrollback-down-half-page = "none";
|
|
||||||
# scrollback-down-line = "none";
|
|
||||||
# scrollback-home = "none";
|
|
||||||
# scrollback-end = "none";
|
|
||||||
};
|
|
||||||
|
|
||||||
url-bindings = {
|
|
||||||
cancel = "Control+g Control+c Control+d Escape";
|
|
||||||
toggle-url-visible = "t";
|
|
||||||
};
|
|
||||||
|
|
||||||
text-bindings = {
|
|
||||||
"\\x03" = "Mod4+c"; # map Super+c -> Control+c
|
|
||||||
};
|
|
||||||
|
|
||||||
mouse-bindings = {
|
|
||||||
scrollback-up-mouse = "BTN_WHEEL_BACK";
|
|
||||||
scrollback-down-mouse = "BTN_WHEEL_FORWARD";
|
|
||||||
font-increase = "Control+BTN_WHEEL_BACK";
|
|
||||||
font-decrease = "Control+BTN_WHEEL_FORWARD";
|
|
||||||
selection-override-modifiers = "Shift";
|
|
||||||
primary-paste = "BTN_MIDDLE";
|
|
||||||
select-begin = "BTN_LEFT";
|
|
||||||
select-begin-block = "Control+BTN_LEFT";
|
|
||||||
select-extend = "BTN_RIGHT";
|
|
||||||
select-extend-character-wise = "Control+BTN_RIGHT";
|
|
||||||
select-word = "BTN_LEFT-2";
|
|
||||||
select-word-whitespace = "Control+BTN_LEFT-2";
|
|
||||||
select-quote = "BTN_LEFT-3";
|
|
||||||
select-row = "BTN_LEFT-4";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +1,19 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
|
||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
home-manager = builtins.fetchTarball {
|
home-manager = builtins.fetchTarball {
|
||||||
url = "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz";
|
url = "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz";
|
||||||
sha256 = "1y919cqrlmq0k44rgnacaq4zq37jj4rdh6f2swp6y2jiz28xb0iq";
|
sha256 = "1kk5qzfb87mkgy6vzm7x8z8akxr3k8k7839yjdy48z034pvidhsr";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
(import "${home-manager}/nixos")
|
(import "${home-manager}/nixos")
|
||||||
|
|
||||||
../modules/wm/hyprland.nix
|
|
||||||
# ../modules/wm/river.nix
|
|
||||||
../modules/wm/crywl.nix
|
|
||||||
|
|
||||||
../modules/steam.nix
|
../modules/steam.nix
|
||||||
../modules/obsidian.nix
|
../modules/obsidian.nix
|
||||||
|
|
||||||
|
|
@ -121,12 +116,6 @@ in {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
dbus = {
|
|
||||||
# NOTE: programs.uwsm.enable sets implementation to dbus-broker,
|
|
||||||
# NOTE: however this seems to break dbus
|
|
||||||
implementation = lib.mkForce "dbus";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Multimedia Framework
|
# Multimedia Framework
|
||||||
# With backwards compatability for alsa/pulseaudio/jack
|
# With backwards compatability for alsa/pulseaudio/jack
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
|
@ -191,7 +180,7 @@ in {
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.me = import ../../homes/me;
|
users.me = import ../../homes/me;
|
||||||
extraSpecialArgs = {inherit inputs pkgs pkgs-unstable;};
|
#extraSpecialArgs = {inherit inputs pkgs;};
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
inputs.ags.homeManagerModules.default
|
inputs.ags.homeManagerModules.default
|
||||||
];
|
];
|
||||||
|
|
@ -209,7 +198,6 @@ in {
|
||||||
# ---- SYSTEM PACKAGES -----
|
# ---- SYSTEM PACKAGES -----
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# User Environment
|
# User Environment
|
||||||
# crywl
|
|
||||||
swww
|
swww
|
||||||
helvum
|
helvum
|
||||||
easyeffects
|
easyeffects
|
||||||
|
|
@ -226,19 +214,18 @@ in {
|
||||||
|
|
||||||
# Shell
|
# Shell
|
||||||
bash
|
bash
|
||||||
|
zsh
|
||||||
fish
|
fish
|
||||||
shellcheck
|
shellcheck
|
||||||
grc # colorise command outputs
|
grc # colorise command outputs
|
||||||
|
|
||||||
# Systems Emulation
|
# Systems Emulation
|
||||||
qemu # Fellice Bellard's Quick Emulator
|
qemu # Fellice Bellard's Quick Emulator
|
||||||
# GNU Utils
|
# Make
|
||||||
gnumake
|
gnumake
|
||||||
binutils
|
|
||||||
# C Family
|
# C Family
|
||||||
gcc
|
gcc
|
||||||
clang
|
clang
|
||||||
clang-tools
|
|
||||||
# Rust
|
# Rust
|
||||||
cargo
|
cargo
|
||||||
rustc
|
rustc
|
||||||
|
|
@ -316,13 +303,13 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
crywl = {
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = false;
|
withUWSM = true; # Universal Wayland Session Manager
|
||||||
defaultSession = false;
|
xwayland.enable = true;
|
||||||
useUnmodifiedDWL = false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zsh.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
|
||||||
nix-ld.enable = true;
|
nix-ld.enable = true;
|
||||||
|
|
@ -331,7 +318,6 @@ in {
|
||||||
# cause it isn't POSIX compliant, so instead Bash is my login and
|
# cause it isn't POSIX compliant, so instead Bash is my login and
|
||||||
# will just exec fish (^-^)
|
# will just exec fish (^-^)
|
||||||
bash = {
|
bash = {
|
||||||
blesh.enable = false; # ble.sh replacement for GNU readline
|
|
||||||
completion.enable = true;
|
completion.enable = true;
|
||||||
|
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
|
|
@ -389,26 +375,10 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
documentation = {
|
|
||||||
enable = true;
|
|
||||||
doc.enable = true; # install /share/doc packages
|
|
||||||
man.enable = true; # install manpages
|
|
||||||
info.enable = true; # install GNU info
|
|
||||||
dev.enable = true; # install docs intended for developers
|
|
||||||
nixos = {
|
|
||||||
enable = true; # install NixOS documentation (ie man -k nix, & nixos-help)
|
|
||||||
options.splitBuild = true;
|
|
||||||
# includeAllModules = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics.enable = true;
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# opengl = {
|
# opengl = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,116 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = config.programs.crywl;
|
|
||||||
in {
|
|
||||||
options.programs.crywl = with lib; {
|
|
||||||
enable = mkEnableOption "CryWL";
|
|
||||||
xwayland.enable = mkEnableOption "XWayland";
|
|
||||||
defaultSession = mkEnableOption "CryWL as the default login session";
|
|
||||||
|
|
||||||
# currently DWL 0.7 (also beware I'll barely ever update the original DWL refs)
|
|
||||||
useUnmodifiedDWL = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Whether to use unmodified DWL source code (latest stable release)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (let
|
|
||||||
xwaylandEnabled = cfg.xwayland.enable;
|
|
||||||
defaultSession = cfg.defaultSession;
|
|
||||||
useUnmodifiedDWL = cfg.useUnmodifiedDWL;
|
|
||||||
in {
|
|
||||||
services.displayManager = {
|
|
||||||
sessionPackages = [
|
|
||||||
pkgs.crywl
|
|
||||||
];
|
|
||||||
|
|
||||||
defaultSession = lib.mkIf defaultSession "crywl";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
pkgs.crywl
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(self: super: {
|
|
||||||
crywl = super.dwl.overrideAttrs (oldAttrs: rec {
|
|
||||||
pname = "crywl";
|
|
||||||
version = "0.1-unstable";
|
|
||||||
|
|
||||||
src = let
|
|
||||||
dwl_0_70 = {
|
|
||||||
rev = "74e45c4014ae7048ecbb76eb6f54034b8b479480";
|
|
||||||
hash = "sha256-7SoCITrbMrlfL4Z4hVyPpjB9RrrjLXHP9C5t1DVXBBA=";
|
|
||||||
};
|
|
||||||
crywl_unstable = {
|
|
||||||
rev = "dc1260d3cfd14e8e5b243ec1d3d56e4b08c8c517";
|
|
||||||
hash = "sha256-61R+xBYMzeEn93gLofcj8Y3VbJqW6g7GzCTujpAco90=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
pkgs.fetchFromGitea ({
|
|
||||||
domain = "forge.imbored.dev";
|
|
||||||
owner = "emileclarkb";
|
|
||||||
repo = pname;
|
|
||||||
}
|
|
||||||
// (
|
|
||||||
if useUnmodifiedDWL
|
|
||||||
then dwl_0_70
|
|
||||||
else crywl_unstable
|
|
||||||
));
|
|
||||||
|
|
||||||
buildInputs = with pkgs;
|
|
||||||
[
|
|
||||||
libinput
|
|
||||||
xorg.libxcb
|
|
||||||
libxkbcommon
|
|
||||||
pixman
|
|
||||||
wayland
|
|
||||||
wayland-protocols
|
|
||||||
wlroots_0_19
|
|
||||||
]
|
|
||||||
++ lib.optionals xwaylandEnabled [
|
|
||||||
xorg.libX11
|
|
||||||
xorg.xcbutilwm
|
|
||||||
xwayland
|
|
||||||
];
|
|
||||||
|
|
||||||
makeFlags =
|
|
||||||
[
|
|
||||||
"PKG_CONFIG=${pkgs.stdenv.cc.targetPrefix}pkg-config"
|
|
||||||
"WAYLAND_SCANNER=wayland-scanner"
|
|
||||||
"PREFIX=$(out)"
|
|
||||||
"MANDIR=$(man)/share/man"
|
|
||||||
]
|
|
||||||
++ lib.optionals xwaylandEnabled [
|
|
||||||
''XWAYLAND="-DXWAYLAND"''
|
|
||||||
''XLIBS="xcb xcb-icccm.pc"''
|
|
||||||
];
|
|
||||||
|
|
||||||
# Ensure `crywl.desktop` entry is registered
|
|
||||||
passthru = {
|
|
||||||
providedSessions = [pname];
|
|
||||||
|
|
||||||
tests.version = pkgs.testers.testVersion {
|
|
||||||
package = oldAttrs.finalPackage;
|
|
||||||
# `dwl -v` emits its version string to stderr and returns 1
|
|
||||||
command = "crywl -v 2>&1; return 0";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forge.imbored.dev/emileclarkb/crywl";
|
|
||||||
description = "Personal fork of DWL";
|
|
||||||
license = lib.licenses.gpl3Only;
|
|
||||||
maintainers = [lib.maintainers.emileclarkb];
|
|
||||||
inherit (pkgs.wayland.meta) platforms;
|
|
||||||
mainProgram = "crywl";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs = {
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true; # Universal Wayland Session Manager
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs = {
|
|
||||||
river.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -14,8 +14,6 @@ in {
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
(import "${home-manager}/nixos")
|
(import "${home-manager}/nixos")
|
||||||
|
|
||||||
../modules/wm/hyprland.nix
|
|
||||||
|
|
||||||
../modules/steam.nix
|
../modules/steam.nix
|
||||||
../modules/obsidian.nix
|
../modules/obsidian.nix
|
||||||
|
|
||||||
|
|
@ -112,7 +110,7 @@ in {
|
||||||
defaultSession =
|
defaultSession =
|
||||||
"hyprland"
|
"hyprland"
|
||||||
+ (
|
+ (
|
||||||
if config.programs.hyprland.withUWSM
|
if config.programs.hyprland.withUWSM == true
|
||||||
then "-uwsm"
|
then "-uwsm"
|
||||||
else null
|
else null
|
||||||
);
|
);
|
||||||
|
|
@ -225,21 +223,19 @@ in {
|
||||||
|
|
||||||
# Shell
|
# Shell
|
||||||
bash
|
bash
|
||||||
|
zsh
|
||||||
fish
|
fish
|
||||||
shellcheck
|
shellcheck
|
||||||
grc # colorise command outputs
|
grc # colorise command outputs
|
||||||
|
|
||||||
# Systems Programming & Compilation
|
# Systems Programming & Compilation
|
||||||
qemu # Fellice Bellard's Quick Emulator
|
qemu # Fellice Bellard's Quick Emulator
|
||||||
# GNU Utils
|
|
||||||
gnumake
|
gnumake
|
||||||
binutils
|
|
||||||
strace
|
strace
|
||||||
ltrace
|
ltrace
|
||||||
# C Family
|
# C Family
|
||||||
gcc
|
gcc
|
||||||
clang
|
clang
|
||||||
clang-tools
|
|
||||||
# Rust
|
# Rust
|
||||||
cargo
|
cargo
|
||||||
rustc
|
rustc
|
||||||
|
|
@ -332,6 +328,12 @@ in {
|
||||||
#};
|
#};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true; # Universal Wayland Session Manager
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
|
||||||
|
|
@ -417,26 +419,10 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
documentation = {
|
|
||||||
enable = true;
|
|
||||||
doc.enable = true; # install /share/doc packages
|
|
||||||
man.enable = true; # install manpages
|
|
||||||
info.enable = true; # install GNU info
|
|
||||||
dev.enable = true; # install docs intended for developers
|
|
||||||
nixos = {
|
|
||||||
enable = true; # install NixOS documentation (ie man -k nix, & nixos-help)
|
|
||||||
options.splitBuild = true;
|
|
||||||
# includeAllModules = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics.enable = true;
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# opengl = {
|
# opengl = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
function fontgrep {
|
|
||||||
fc-list \
|
|
||||||
| grep $@ \
|
|
||||||
| awk '{$1=""; print substr($0, 2, length($0)-1) }' \
|
|
||||||
| grep -oE '^\s*[^,]+' \
|
|
||||||
| sort \
|
|
||||||
| uniq
|
|
||||||
}
|
|
||||||
|
|
||||||
fontgrep $@
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue