treewide: alejandra formatting

This commit is contained in:
notohh 2023-04-23 17:45:37 -04:00
parent 6c78218c04
commit 6009bc78f5
Signed by: notohh
GPG key ID: BD47506D475EE86D
42 changed files with 929 additions and 902 deletions

View file

@ -1,30 +1,34 @@
{ {
description = "snowflake"; description = "snowflake";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = { self, nixpkgs, home-manager, hyprland, ... }@inputs: outputs = {
let self,
system = "x86_64-linux"; nixpkgs,
lib = nixpkgs.lib; home-manager,
in { hyprland,
nixosConfigurations = { ...
tsuki = lib.nixosSystem { } @ inputs: let
inherit system; system = "x86_64-linux";
modules = [ lib = nixpkgs.lib;
./hosts/tsuki in {
home-manager.nixosModules.home-manager { nixosConfigurations = {
tsuki = lib.nixosSystem {
inherit system;
modules = [
./hosts/tsuki
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {inherit inputs;};
inherit inputs;
};
home-manager.users.notoh = { home-manager.users.notoh = {
imports = [ imports = [
hyprland.homeManagerModules.default hyprland.homeManagerModules.default
@ -34,36 +38,32 @@
} }
]; ];
}; };
hime = lib.nixosSystem { hime = lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [
./hosts/hime ./hosts/hime
home-manager.nixosModules.home-manager { home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.oh = { home-manager.users.oh = {imports = [./hosts/hime/home.nix];};
imports = [
./hosts/hime/home.nix
];
};
} }
]; ];
}; };
sutakku = lib.nixosSystem { sutakku = lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [
./hosts/sutakku ./hosts/sutakku
home-manager.nixosModules.home-manager { home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.oh = { home-manager.users.oh = {
imports = [ imports = [./hosts/sutakku/home.nix];
./hosts/sutakku/home.nix
];
}; };
} }
]; ];
}; };
}; };
}; };
} }

View file

@ -1,7 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}: {
imports = [ imports = [
./neofetch ./neofetch
./nushell ./nushell
@ -16,5 +13,6 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
bat bat
croc croc
alejandra
]; ];
} }

View file

@ -1,9 +1,7 @@
{ {...}: {
...
}: {
programs.direnv = { programs.direnv = {
enable = true; enable = true;
enableNushellIntegration = true; enableNushellIntegration = true;
nix-direnv.enable = true; nix-direnv.enable = true;
}; };
} }

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
global = { global = {
frame_color = "#f5c2e7"; frame_color = "#f5c2e7";
frame_width = "4"; frame_width = "4";
@ -20,9 +18,9 @@
background = "#1E1E2E"; background = "#1E1E2E";
foreground = "#CDD6F4"; foreground = "#CDD6F4";
}; };
urgency_critical ={ urgency_critical = {
background = "#1E1E2E"; background = "#1E1E2E";
foreground = "#CDD6F4"; foreground = "#CDD6F4";
frame_color = "#FAB387"; frame_color = "#FAB387";
}; };
} }

View file

@ -1,9 +1,7 @@
{ {...}: {
...
}: {
services.dunst = { services.dunst = {
enable = true; enable = true;
waylandDisplay = "DP-2"; waylandDisplay = "DP-2";
settings = ./config.nix; settings = ./config.nix;
}; };
} }

View file

@ -1,17 +1,14 @@
{ {pkgs, ...}: {
pkgs, home.packages = with pkgs; [gh];
...
}: {
home.packages = with pkgs; [ gh ];
programs.git = { programs.git = {
enable = true; enable = true;
userEmail = "github@notohh.dev"; userEmail = "github@notohh.dev";
userName = "notohh"; userName = "notohh";
signing = { signing = {
key = "BD47506D475EE86D"; key = "BD47506D475EE86D";
signByDefault = true; signByDefault = true;
}; };
ignores = ["*result*" ".direnv" "node_modules"]; ignores = ["*result*" ".direnv" "node_modules"];
}; };
} }

View file

@ -1,8 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}: {
home.pointerCursor = { home.pointerCursor = {
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic"; name = "Bibata-Modern-Classic";
@ -11,7 +7,7 @@
x11.enable = true; x11.enable = true;
}; };
gtk = { gtk = {
enable = true; enable = true;
theme = { theme = {
name = "Catppuccin-Mocha-Standard-Pink-Dark"; name = "Catppuccin-Mocha-Standard-Pink-Dark";
@ -21,4 +17,4 @@
}; };
}; };
}; };
} }

View file

@ -1,14 +1,12 @@
{ {...}: {
...
}: {
imports = [ imports = [
./themes/catppuccin_mocha.nix ./themes/catppuccin_mocha.nix
]; ];
programs.helix = { programs.helix = {
enable = true; enable = true;
settings = { settings = {
theme = "catppuccin_mocha"; theme = "catppuccin_mocha";
editor = { editor = {
true-color = true; true-color = true;
color-modes = true; color-modes = true;
cursorline = true; cursorline = true;
@ -20,39 +18,39 @@
indent-guides = { indent-guides = {
render = true; render = true;
rainbow = "dim"; rainbow = "dim";
languages = [ languages = [
{ {
name = "nix"; name = "nix";
auto-format = true; auto-format = true;
} }
{ {
name = "rust"; name = "rust";
} }
{ {
name = "go"; name = "go";
} }
{ {
name = "lua"; name = "lua";
} }
{ {
name = "python"; name = "python";
} }
{ {
name = "markdown"; name = "markdown";
} }
{ {
name = "html"; name = "html";
} }
{ {
name = "css"; name = "css";
} }
{ {
name = "yaml"; name = "yaml";
} }
]; ];
};
};
}; };
};
}; };
};
} }

View file

@ -1,121 +1,217 @@
{ {...}: {
...
}: {
programs.helix = { programs.helix = {
themes.catppuccin_mocha = let themes.catppuccin_mocha = let
transparent = "none"; transparent = "none";
rosewater = "#f5e0dc"; rosewater = "#f5e0dc";
flamingo = "#f2cdcd"; flamingo = "#f2cdcd";
pink = "#f5c2e7"; pink = "#f5c2e7";
mauve = "#cba6f7"; mauve = "#cba6f7";
red = "#f38ba8"; red = "#f38ba8";
maroon = "#eba0ac"; maroon = "#eba0ac";
peach = "#fab387"; peach = "#fab387";
yellow = "#f9e2af"; yellow = "#f9e2af";
green = "#a6e3a1"; green = "#a6e3a1";
teal = "#94e2d5"; teal = "#94e2d5";
sky = "#89dceb"; sky = "#89dceb";
sapphire = "#74c7ec"; sapphire = "#74c7ec";
blue = "#89b4fa"; blue = "#89b4fa";
lavender = "#b4befe"; lavender = "#b4befe";
text = "#cdd6f4"; text = "#cdd6f4";
subtext1 = "#bac2de"; subtext1 = "#bac2de";
subtext0 = "#a6adc8"; subtext0 = "#a6adc8";
overlay2 = "#9399b2"; overlay2 = "#9399b2";
overlay1 = "#7f849c"; overlay1 = "#7f849c";
overlay0 = "#6c7086"; overlay0 = "#6c7086";
surface2 = "#585b70"; surface2 = "#585b70";
surface1 = "#45475a"; surface1 = "#45475a";
surface0 = "#313244"; surface0 = "#313244";
base = "#1e1e2e"; base = "#1e1e2e";
mantle = "#181825"; mantle = "#181825";
crust = "#11111b"; crust = "#11111b";
cursorline = "#2a2b3c"; cursorline = "#2a2b3c";
secondary_cursor = "#b5a6a8"; secondary_cursor = "#b5a6a8";
in { in {
"type" = yellow; "type" = yellow;
"constructor" = sapphire; "constructor" = sapphire;
"constant" = peach; "constant" = peach;
"constant.builtin" = peach; "constant.builtin" = peach;
"constant.character" = teal; "constant.character" = teal;
"constant.character.escape" = pink; "constant.character.escape" = pink;
"string" = green; "string" = green;
"string.regexp" = peach; "string.regexp" = peach;
"string.special" = blue; "string.special" = blue;
"comment" = {fg = maroon; modifiers = ["italic"]; }; "comment" = {
"variable" = "text"; fg = maroon;
"variable.parameter" = {fg = maroon; modifiers = ["italic"]; }; modifiers = ["italic"];
"variable.builtin" = red; };
"variable.other.member" = teal; "variable" = "text";
"label" = sapphire; "variable.parameter" = {
"punctuation" = overlay2; fg = maroon;
"punctuation.special" = sky; modifiers = ["italic"];
"keyword" = mauve; };
"keyword.control.conditional" = {fg = mauve; modifiers = ["italic"]; }; "variable.builtin" = red;
"operator" = sky; "variable.other.member" = teal;
"function" = blue; "label" = sapphire;
"function.macro" = mauve; "punctuation" = overlay2;
"tag" = mauve; "punctuation.special" = sky;
"attribute" = blue; "keyword" = mauve;
"namespace" = {fg = blue; modifiers = ["italic"]; }; "keyword.control.conditional" = {
"special" = blue; fg = mauve;
"markup.heading.marker" = {fg = peach; modifiers = ["bold"]; }; modifiers = ["italic"];
"markup.heading.1" = lavender; };
"markup.heading.2" = mauve; "operator" = sky;
"markup.heading.3" = green; "function" = blue;
"markup.heading.4" = yellow; "function.macro" = mauve;
"markup.heading.5" = pink; "tag" = mauve;
"markup.heading.6" = teal; "attribute" = blue;
"markup.list" = mauve; "namespace" = {
"markup.bold" = { modifiers = ["bold"]; }; fg = blue;
"markup.italic" = { modifiers = ["italic"]; }; modifiers = ["italic"];
"markup.link.url" = {fg = rosewater; modifiers = ["italic" "underlined"]; }; };
"markup.link.text" = blue; "special" = blue;
"markup.raw" = flamingo; "markup.heading.marker" = {
"diff.plus" = green; fg = peach;
"diff.minus" = red; modifiers = ["bold"];
"diff.delta" = blue; };
"ui.background" = {fg = surface1; }; "markup.heading.1" = lavender;
"ui.linenr" = { fg = surface1; }; "markup.heading.2" = mauve;
"ui.linenr.selected" = { fg = lavender; }; "markup.heading.3" = green;
"ui.statusline" = { fg = subtext1; bg = mantle; }; "markup.heading.4" = yellow;
"ui.statusline.inactive" = { fg = surface2; bg = mantle; }; "markup.heading.5" = pink;
"ui.statusline.normal" = { fg = base; bg = lavender; modifiers = ["bold"]; }; "markup.heading.6" = teal;
"ui.statusline.insert" = { fg = base; bg = green; modifiers = ["bold"]; }; "markup.list" = mauve;
"ui.statusline.select" = { fg = base; bg = flamingo; modifiers = ["bold"]; }; "markup.bold" = {modifiers = ["bold"];};
"ui.popup" = { fg = text; bg = surface0; }; "markup.italic" = {modifiers = ["italic"];};
"ui.window" = { fg = crust; }; "markup.link.url" = {
"ui.help" = { fg = overlay2; bg = surface0; }; fg = rosewater;
"ui.bufferline" = { fg = subtext0; bg = mantle; }; modifiers = ["italic" "underlined"];
"ui.bufferline.active" = { fg = mauve; bg = base; underline = {color = mauve; style = "line"; }; }; };
"ui.bufferline.background" = { bg = crust; }; "markup.link.text" = blue;
"ui.text" = text; "markup.raw" = flamingo;
"ui.text.focus" = { fg = text; bg = surface0; modifiers = ["bold"]; }; "diff.plus" = green;
"ui.text.inactive" = { fg = overlay1; }; "diff.minus" = red;
"ui.virtual" = overlay0; "diff.delta" = blue;
"ui.virtual.ruler" = { bg = surface0; }; "ui.background" = {fg = surface1;};
"ui.virtual.indent-guide" = surface0; "ui.linenr" = {fg = surface1;};
"ui.virtual.inlay-hint" = { fg = surface1; bg = mantle; }; "ui.linenr.selected" = {fg = lavender;};
"ui.selection" = { bg = surface1; }; "ui.statusline" = {
"ui.cursor" = { fg = base; bg = secondary_cursor; }; fg = subtext1;
"ui.cursor.primary" = { fg = base; bg = rosewater; }; bg = mantle;
"ui.cursor.match" = { fg = peach; modifiers = ["bold"]; }; };
"ui.cursorline.primary" = { bg = cursorline; }; "ui.statusline.inactive" = {
"ui.highlight" = { bg = surface1; modifiers = ["bold"]; }; fg = surface2;
"ui.menu" = { fg = overlay2; bg = surface0; }; bg = mantle;
"ui.menu.selected" = { fg = text; bg = surface1; modifiers = ["bold"]; }; };
"diagnostic.error" = { underline = { color = red; style = "curl"; }; }; "ui.statusline.normal" = {
"diagnostic.warning" = { underline = { color = yellow; style = "curl"; }; }; fg = base;
"diagnostic.info" = { underline = { color = sky; style = "curl"; }; }; bg = lavender;
"diagnostic.hint" = { underline = { color = teal; style = "curl"; }; }; modifiers = ["bold"];
};
"error" = red; "ui.statusline.insert" = {
"warning" = yellow; fg = base;
"info" = sky; bg = green;
"hint" = teal; modifiers = ["bold"];
};
"ui.statusline.select" = {
fg = base;
bg = flamingo;
modifiers = ["bold"];
};
"ui.popup" = {
fg = text;
bg = surface0;
};
"ui.window" = {fg = crust;};
"ui.help" = {
fg = overlay2;
bg = surface0;
};
"ui.bufferline" = {
fg = subtext0;
bg = mantle;
};
"ui.bufferline.active" = {
fg = mauve;
bg = base;
underline = {
color = mauve;
style = "line";
};
};
"ui.bufferline.background" = {bg = crust;};
"ui.text" = text;
"ui.text.focus" = {
fg = text;
bg = surface0;
modifiers = ["bold"];
};
"ui.text.inactive" = {fg = overlay1;};
"ui.virtual" = overlay0;
"ui.virtual.ruler" = {bg = surface0;};
"ui.virtual.indent-guide" = surface0;
"ui.virtual.inlay-hint" = {
fg = surface1;
bg = mantle;
};
"ui.selection" = {bg = surface1;};
"ui.cursor" = {
fg = base;
bg = secondary_cursor;
};
"ui.cursor.primary" = {
fg = base;
bg = rosewater;
};
"ui.cursor.match" = {
fg = peach;
modifiers = ["bold"];
};
"ui.cursorline.primary" = {bg = cursorline;};
"ui.highlight" = {
bg = surface1;
modifiers = ["bold"];
};
"ui.menu" = {
fg = overlay2;
bg = surface0;
};
"ui.menu.selected" = {
fg = text;
bg = surface1;
modifiers = ["bold"];
};
"diagnostic.error" = {
underline = {
color = red;
style = "curl";
};
};
"diagnostic.warning" = {
underline = {
color = yellow;
style = "curl";
};
};
"diagnostic.info" = {
underline = {
color = sky;
style = "curl";
};
};
"diagnostic.hint" = {
underline = {
color = teal;
style = "curl";
};
};
"error" = red;
"warning" = yellow;
"info" = sky;
"hint" = teal;
}; };
}; };
} }

View file

@ -1,20 +1,18 @@
{ {...}: {
...
}: {
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;
settings = { settings = {
windowSize = "normal"; windowSize = "normal";
gui.theme = { gui.theme = {
lightTheme = false; lightTheme = false;
activeBorderColor = [ "#a6e3a1" "bold" ]; activeBorderColor = ["#a6e3a1" "bold"];
inactiveBorderColor = [ "#cdd6f4" ]; inactiveBorderColor = ["#cdd6f4"];
optionsTextColor = [ "#89b4fa" ]; optionsTextColor = ["#89b4fa"];
selectedLineBgColor = [ "#313244" ]; selectedLineBgColor = ["#313244"];
selectedRangeByColor = [ "#313244" ]; selectedRangeByColor = ["#313244"];
cherryPickedCommitBgColor = [ "#94e2d5" ]; cherryPickedCommitBgColor = ["#94e2d5"];
cherryPickedCommitFgColor = [ "#89b4fa" ]; cherryPickedCommitFgColor = ["#89b4fa"];
unstagedChangesColor = [ "red" ]; unstagedChangesColor = ["red"];
}; };
}; };
}; };

View file

@ -1,7 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}: {
programs.lf = { programs.lf = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
programs.librewolf = { programs.librewolf = {
enable = true; enable = true;
settings = { settings = {
@ -20,7 +18,7 @@
"browser.startup.homepage" = "http://dashboard.lab/"; "browser.startup.homepage" = "http://dashboard.lab/";
}; };
}; };
# enable librewolf as the default browser, with some extra config # enable librewolf as the default browser, with some extra config
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;
@ -38,6 +36,6 @@
"application/xhtml+xml" = ["librewolf.desktop"]; "application/xhtml+xml" = ["librewolf.desktop"];
"application/x-extension-xhtml" = ["librewolf.desktop"]; "application/x-extension-xhtml" = ["librewolf.desktop"];
"application/x-extension-xht" = ["librewolf.desktop"]; "application/x-extension-xht" = ["librewolf.desktop"];
}; };
}; };
} }

View file

@ -6,5 +6,5 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
neofetch neofetch
]; ];
xdg.configFile."neofetch/config.conf".source =./config.conf; xdg.configFile."neofetch/config.conf".source = ./config.conf;
} }

View file

@ -1,9 +1,7 @@
{ {...}: {
...
}: {
programs.nushell = { programs.nushell = {
enable = true; enable = true;
configFile.source = ./config.nu; configFile.source = ./config.nu;
envFile.source = ./env.nu; envFile.source = ./env.nu;
}; };
} }

View file

@ -9,91 +9,90 @@
enable = true; enable = true;
enableNushellIntegration = true; enableNushellIntegration = true;
settings = { settings = {
format = lib.concatStrings [ format = lib.concatStrings [
"[](#f5c2e7)" "[](#f5c2e7)"
"$username" "$username"
"$hostname" "$hostname"
"[](bg:#f38ba8 fg:#f5c2e7)" "[](bg:#f38ba8 fg:#f5c2e7)"
"$directory" "$directory"
"[](fg:#f38ba8 bg:#eb7c92)" "[](fg:#f38ba8 bg:#eb7c92)"
"$git_branch" "$git_branch"
"$git_status" "$git_status"
"[](fg:#eb7c92 bg:#e6657f)" "[](fg:#eb7c92 bg:#e6657f)"
"$c" "$c"
"$golang" "$golang"
"$nodejs" "$nodejs"
"$rust" "$rust"
"$docker_context" "$docker_context"
"[](fg:#e6657f bg:#e05a75)" "[](fg:#e6657f bg:#e05a75)"
"$time" "$time"
"[](fg:#e05a75)" "[](fg:#e05a75)"
]; ];
username = { username = {
show_always = true; show_always = true;
style_user = "bg:#f5c2e7 fg:#11111b"; style_user = "bg:#f5c2e7 fg:#11111b";
style_root = "bg:#f5c2e7 fg:#11111b"; style_root = "bg:#f5c2e7 fg:#11111b";
format = "[ $user]($style)"; format = "[ $user]($style)";
}; };
hostname = { hostname = {
ssh_symbol = ""; ssh_symbol = "";
style = "bg:#f5c2e7 fg:#11111b"; style = "bg:#f5c2e7 fg:#11111b";
format = "[@$hostname]($style)"; format = "[@$hostname]($style)";
ssh_only = false; ssh_only = false;
disabled = false; disabled = false;
}; };
directory = { directory = {
style = "bg:#f38ba8 fg:#11111b"; style = "bg:#f38ba8 fg:#11111b";
format = "[ $path ]($style)"; format = "[ $path ]($style)";
truncation_length = 3; truncation_length = 3;
truncation_symbol = "/"; truncation_symbol = "/";
}; };
directory.substitutions = { directory.substitutions = {
"Documents" = " "; "Documents" = " ";
"Downloads" = " "; "Downloads" = " ";
"Music" = " "; "Music" = " ";
"Pictures" = " "; "Pictures" = " ";
}; };
c = { c = {
symbol = " "; symbol = " ";
style = "bg:#e6657f fg:#11111b"; style = "bg:#e6657f fg:#11111b";
format = "[ $symbol ($version) ]($style)"; format = "[ $symbol ($version) ]($style)";
}; };
docker_context = { docker_context = {
symbol = " "; symbol = " ";
style = "bg:#e6657f fg:#11111b"; style = "bg:#e6657f fg:#11111b";
format = "[ $symbol $context ]($style) $path"; format = "[ $symbol $context ]($style) $path";
}; };
git_branch = { git_branch = {
symbol = ""; symbol = "";
style = "bg:#eb7c92 fg:#11111b"; style = "bg:#eb7c92 fg:#11111b";
format = "[ $symbol $branch ]($style)"; format = "[ $symbol $branch ]($style)";
}; };
git_status = { git_status = {
style = "bg:#eb7c92 fg:#11111b"; style = "bg:#eb7c92 fg:#11111b";
format = "[$all_status$ahead_behind ]($style)"; format = "[$all_status$ahead_behind ]($style)";
}; };
golang = { golang = {
symbol = " "; symbol = " ";
style = "bg:#e6657f fg:#11111b"; style = "bg:#e6657f fg:#11111b";
format = "[ $symbol ($version) ]($style)"; format = "[ $symbol ($version) ]($style)";
}; };
nodejs = { nodejs = {
symbol = ""; symbol = "";
style = "bg:#e6657f fg:#11111b"; style = "bg:#e6657f fg:#11111b";
format = "[ $symbol ($version) ]($style)"; format = "[ $symbol ($version) ]($style)";
}; };
rust = { rust = {
symbol = ""; symbol = "";
style = "bg:#e6657f fg:#11111b"; style = "bg:#e6657f fg:#11111b";
format = "[ $symbol ($version) ]($style)"; format = "[ $symbol ($version) ]($style)";
}; };
time = { time = {
disabled = false; disabled = false;
time_format = "%R"; # Hour:Minute Format time_format = "%R"; # Hour:Minute Format
style = "bg:#e05a75 fg:#11111b"; style = "bg:#e05a75 fg:#11111b";
format = "[ $time ]($style)"; format = "[ $time ]($style)";
}; };
}; };
}; };
} }

View file

@ -3,13 +3,12 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: let
let
compileSCSS = name: source: "${pkgs.runCommandLocal name {} '' compileSCSS = name: source: "${pkgs.runCommandLocal name {} ''
mkdir -p $out mkdir -p $out
${lib.getExe pkgs.sassc} -t expanded '${source}' > $out/${name}.css ${lib.getExe pkgs.sassc} -t expanded '${source}' > $out/${name}.css
''}/${name}.css"; ''}/${name}.css";
in { in {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = inputs.hyprland.packages.${pkgs.system}.waybar-hyprland; package = inputs.hyprland.packages.${pkgs.system}.waybar-hyprland;
@ -23,9 +22,9 @@
spacing = 10; spacing = 10;
margin-top = 8; margin-top = 8;
modules-left = [ modules-left = [
"image/nixos" "image/nixos"
"user" "user"
"wlr/workspaces" "wlr/workspaces"
]; ];
modules-center = [ modules-center = [
"hyprland/window" "hyprland/window"
@ -40,7 +39,7 @@
"image/nixos" = { "image/nixos" = {
path = "/home/notoh/snowflake/home/waybar/assets/nixos.png"; path = "/home/notoh/snowflake/home/waybar/assets/nixos.png";
size = 24; size = 24;
}; };
"user" = { "user" = {
format = "{user} up {work_d} days | {work_H} hrs | {work_M} min "; format = "{user} up {work_d} days | {work_H} hrs | {work_M} min ";
interval = 60; interval = 60;
@ -89,4 +88,4 @@
}; };
style = builtins.readFile (compileSCSS "waybar-style" ./style.scss); style = builtins.readFile (compileSCSS "waybar-style" ./style.scss);
}; };
} }

View file

@ -1,9 +1,4 @@
{ {pkgs, ...}: let
pkgs,
...
}:
let
dbus-hyprland-environment = pkgs.writeTextFile { dbus-hyprland-environment = pkgs.writeTextFile {
name = "dbus-hyprland-environment"; name = "dbus-hyprland-environment";
destination = "/bin/dbus-hyprland-environment"; destination = "/bin/dbus-hyprland-environment";
@ -14,13 +9,11 @@ let
systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland
''; '';
}; };
in in {
{
imports = [ imports = [
../../modules/greetd.nix ../../modules/greetd.nix
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
dbus-hyprland-environment dbus-hyprland-environment
wayland wayland
@ -44,7 +37,7 @@ let
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
]; ];
}; };
programs.xwayland.enable = true; programs.xwayland.enable = true;
@ -69,5 +62,4 @@ let
environment.etc."greetd/environments".text = '' environment.etc."greetd/environments".text = ''
Hyprland Hyprland
''; '';
}
}

View file

@ -1,162 +1,160 @@
{ {...}: {
...
}: {
wayland.windowManager.hyprland.extraConfig = '' wayland.windowManager.hyprland.extraConfig = ''
monitor = HDMI-A-1,1920x1080,5760x0,1 #right monitor = HDMI-A-1,1920x1080,5760x0,1 #right
monitor = DP-2,1920x1080,1920x0,1 #left monitor = DP-2,1920x1080,1920x0,1 #left
monitor = DP-3,1920x1080@144,3840x0,1 #middle monitor = DP-3,1920x1080@144,3840x0,1 #middle
input { input {
kb_layout = us kb_layout = us
kb_variant = kb_variant =
kb_model = kb_model =
kb_options = kb_options =
kb_rules = kb_rules =
follow_mouse = 1 follow_mouse = 1
sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification. sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification.
force_no_accel = true force_no_accel = true
} }
general { general {
gaps_in = 6 gaps_in = 6
gaps_out = 15 gaps_out = 15
border_size = 4 border_size = 4
col.active_border = rgb(f5c2e7) col.active_border = rgb(f5c2e7)
col.inactive_border = rgb(6c7086) col.inactive_border = rgb(6c7086)
layout = dwindle layout = dwindle
} }
decoration { decoration {
rounding = 8 rounding = 8
#blur #blur
blur = yes blur = yes
blur_size = 5 blur_size = 5
blur_passes = 3 blur_passes = 3
blur_new_optimizations = on blur_new_optimizations = on
multisample_edges = true multisample_edges = true
#opactity
inactive_opacity = 1.0
active_opacity = 1.0
fullscreen_opacity = 1.0
# shadow
drop_shadow = yes
shadow_range = 60
shadow_offset = 0 5
shadow_render_power = 4
col.shadow = rgba(00000099)
}
animations { #opactity
inactive_opacity = 1.0
active_opacity = 1.0
fullscreen_opacity = 1.0
enabled = yes # shadow
drop_shadow = yes
shadow_range = 60
shadow_offset = 0 5
shadow_render_power = 4
col.shadow = rgba(00000099)
}
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animations {
animation = windows, 1, 7, myBezier enabled = yes
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle { bezier = myBezier, 0.05, 0.9, 0.1, 1.05
pseudotile = yes animation = windows, 1, 7, myBezier
preserve_split = yes animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
} animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
master { dwindle {
new_is_master = true pseudotile = yes
preserve_split = yes
}
gestures { }
workspace_swipe = off master {
}
device:epic mouse V1 { new_is_master = true
sensitivity = -0.5 }
}
exec-once = waybar & dunst gestures {
exec-once = swww init workspace_swipe = off
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP }
exec-once = /nix/store/gjbi20m2wz9xhm18ifmcdl45cpgd7hpz-polkit-gnome-0.105/libexec/polkit-gnome-authentication-agent-1
# swayidle / lock device:epic mouse V1 {
exec-once = ~/.local/bin/lock
#windowrules sensitivity = -0.5
windowrulev2 = noshadow, floating:0 }
windowrulev2 = float, title:^(Volume Control)$
windowrulev2 = float, title:^(Picture-in-Picture)$
windowrulev2 = float, title:^(RuneLite)$
windowrulev2 = move 500 300, title:^(RuneLite)$
windowrulev2 = size 810 580, title:^(RuneLite)$
windowrulev2 = float, title:^(Steam)$
windowrulev2 = float, title:^(Cryptomator)$
windowrulev2 = fullscreen, title:^(wlogout)$
windowrulev2 = float, title:^(wlogout)$
#binds exec-once = waybar & dunst
$mainMod = SUPER
bind = $mainMod, Return, exec, wezterm exec-once = swww init
bind = $mainMod, Q, killactive,
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, rofi -modi run -show drun
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind =, Print, exec, grim -g "$(slurp -d)"
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, 1, workspace, 1 exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
bind = $mainMod, 2, workspace, 2 exec-once = /nix/store/gjbi20m2wz9xhm18ifmcdl45cpgd7hpz-polkit-gnome-0.105/libexec/polkit-gnome-authentication-agent-1
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1 # swayidle / lock
bind = $mainMod SHIFT, 2, movetoworkspace, 2 exec-once = ~/.local/bin/lock
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod, mouse_down, workspace, e+1 #windowrules
bind = $mainMod, mouse_up, workspace, e-1 windowrulev2 = noshadow, floating:0
windowrulev2 = float, title:^(Volume Control)$
windowrulev2 = float, title:^(Picture-in-Picture)$
windowrulev2 = float, title:^(RuneLite)$
windowrulev2 = move 500 300, title:^(RuneLite)$
windowrulev2 = size 810 580, title:^(RuneLite)$
windowrulev2 = float, title:^(Steam)$
windowrulev2 = float, title:^(Cryptomator)$
windowrulev2 = fullscreen, title:^(wlogout)$
windowrulev2 = float, title:^(wlogout)$
bindm = $mainMod, mouse:272, movewindow #binds
bindm = $mainMod, mouse:273, resizewindow $mainMod = SUPER
bind = $mainMod, Return, exec, wezterm
bind = $mainMod, Q, killactive,
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, rofi -modi run -show drun
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind =, Print, exec, grim -g "$(slurp -d)"
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
''; '';
} }

View file

@ -1,8 +1,6 @@
{ {...}: {
...
}: {
imports = [./config.nix]; imports = [./config.nix];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
nvidiaPatches = true; nvidiaPatches = true;
@ -17,4 +15,4 @@
night = 3750; night = 3750;
}; };
}; };
} }

View file

@ -1,33 +1,31 @@
{ {...}: {
... programs.wezterm = {
}: {
programs.wezterm = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
local wezterm = require 'wezterm' local wezterm = require 'wezterm'
return { return {
front_end = "WebGpu", front_end = "WebGpu",
webgpu_preferred_adapter = { webgpu_preferred_adapter = {
backend="Vulkan", backend="Vulkan",
device_type="DiscreteGpu", device_type="DiscreteGpu",
name="NVIDIA GeForce GTX 1070 Ti" name="NVIDIA GeForce GTX 1070 Ti"
}, },
enable_wayland = false, enable_wayland = false,
font = wezterm.font 'Comic Code Ligatures', font = wezterm.font 'Comic Code Ligatures',
font_size = 12.0, font_size = 12.0,
window_background_opacity = 0.6, window_background_opacity = 0.6,
text_background_opacity = 1.0, text_background_opacity = 1.0,
enable_tab_bar = false, enable_tab_bar = false,
color_scheme = 'Catppuccin Mocha', color_scheme = 'Catppuccin Mocha',
window_padding = { window_padding = {
top = 0, top = 0,
bottom = 0, bottom = 0,
left = 0, left = 0,
right = 0, right = 0,
} }
} }
''; '';
}; };
} }

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
programs.zathura = { programs.zathura = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
@ -23,25 +21,25 @@
set notification-error-fg "#F38BA8" set notification-error-fg "#F38BA8"
set notification-warning-bg "#313244" set notification-warning-bg "#313244"
set notification-warning-fg "#FAE3B0" set notification-warning-fg "#FAE3B0"
set inputbar-fg "#CDD6F4" set inputbar-fg "#CDD6F4"
set inputbar-bg "#313244" set inputbar-bg "#313244"
set recolor-lightcolor "#1E1E2E" set recolor-lightcolor "#1E1E2E"
set recolor-darkcolor "#CDD6F4" set recolor-darkcolor "#CDD6F4"
set index-fg "#CDD6F4" set index-fg "#CDD6F4"
set index-bg "#1E1E2E" set index-bg "#1E1E2E"
set index-active-fg "#CDD6F4" set index-active-fg "#CDD6F4"
set index-active-bg "#313244" set index-active-bg "#313244"
set render-loading-bg "#1E1E2E" set render-loading-bg "#1E1E2E"
set render-loading-fg "#CDD6F4" set render-loading-fg "#CDD6F4"
set highlight-color "#575268" set highlight-color "#575268"
set highlight-fg "#F5C2E7" set highlight-fg "#F5C2E7"
set highlight-active-color "#F5C2E7" set highlight-active-color "#F5C2E7"
''; '';
}; };
} }

View file

@ -1,10 +1,8 @@
{ {...}: {
...
}: {
imports = [ imports = [
./layouts.nix ./layouts.nix
]; ];
programs.zellij = { programs.zellij = {
enable = true; enable = true;
settings = { settings = {
@ -25,7 +23,7 @@
cyan = "#89dceb"; cyan = "#89dceb";
black = "#181825"; black = "#181825";
white = "#cdd6f4"; white = "#cdd6f4";
}; };
}; };
}; };
} }

View file

@ -1,67 +1,65 @@
{ {...}: {
...
}: {
home.file.".config/zellij/snowflake.kdl".text = '' home.file.".config/zellij/snowflake.kdl".text = ''
layout { layout {
tab name="main" { tab name="main" {
pane size=1 borderless=true { pane size=1 borderless=true {
plugin location="zellij:tab-bar" plugin location="zellij:tab-bar"
}
pane split_direction="vertical" {
pane size="110"
pane split_direction="horizontal" {
pane
pane
}
} }
pane split_direction="vertical" { pane size=2 borderless=true {
pane size="110" plugin location="zellij:status-bar"
pane split_direction="horizontal" { }
pane }
pane tab name="lazygit" {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane command="lazygit"
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="spotify" {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane command="spotify_player"
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
} }
} }
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="lazygit" {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane command="lazygit"
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="spotify" {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane command="spotify_player"
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
}
''; '';
home.file.".config/zellij/ssh.kdl".text = '' home.file.".config/zellij/ssh.kdl".text = ''
layout { layout {
tab name="ssh" { tab name="ssh" {
pane size=1 borderless=true { pane size=1 borderless=true {
plugin location="zellij:tab-bar" plugin location="zellij:tab-bar"
}
pane split_direction="vertical" {
pane
pane split_direction="horizontal" {
pane command="ssh" {
args "oh@100.117.178.88"
} }
pane command="ssh" { pane split_direction="vertical" {
args "oh@100.103.228.56" pane
pane split_direction="horizontal" {
pane command="ssh" {
args "oh@100.117.178.88"
}
pane command="ssh" {
args "oh@100.103.228.56"
}
}
}
pane size=2 borderless=true {
plugin location="zellij:status-bar"
} }
} }
} }
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
}
''; '';
} }

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
enableNushellIntegration = true; enableNushellIntegration = true;

View file

@ -1,12 +1,8 @@
{ {pkgs, ...}: {
pkgs, imports = [
...
}: {
imports =
[
./hardware-configuration.nix ./hardware-configuration.nix
../../modules ../../modules
]; ];
boot.loader = { boot.loader = {
grub = { grub = {
@ -16,43 +12,41 @@
useOSProber = false; useOSProber = false;
}; };
}; };
networking = { networking = {
hostName = "hime"; hostName = "hime";
}; };
services.xserver = { services.xserver = {
layout = "us"; layout = "us";
xkbVariant = ""; xkbVariant = "";
}; };
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
PasswordAuthentication = true; PasswordAuthentication = true;
};
}; };
};
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
users ={ users = {
defaultUserShell = pkgs.nushell; defaultUserShell = pkgs.nushell;
users.oh = { users.oh = {
isNormalUser = true; isNormalUser = true;
description = "oh"; description = "oh";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
packages = with pkgs; [ packages = with pkgs; [
hugo hugo
yt-dlp yt-dlp
]; ];
};
}; };
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
docker-compose docker-compose
wget wget
python3Full python3Full
nfs-utils nfs-utils
]; ];
} }

View file

@ -1,38 +1,42 @@
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/profiles/qemu-guest.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ ]; boot.kernelModules = [];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/154e6059-35f9-49bb-b049-085b325ac997"; device = "/dev/disk/by-uuid/154e6059-35f9-49bb-b049-085b325ac997";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/home/oh/nas" = fileSystems."/home/oh/nas" = {
{ device = "192.168.1.71:/volume1/hime"; device = "192.168.1.71:/volume1/hime";
fsType = "nfs"; fsType = "nfs";
}; };
fileSystems."/home/oh/docker/nextcloud" = fileSystems."/home/oh/docker/nextcloud" = {
{ device = "192.168.1.71:/volume1/nextcloud"; device = "192.168.1.71:/volume1/nextcloud";
fsType = "nfs"; fsType = "nfs";
}; };
fileSystems."/home/oh/docker/stash/data" = fileSystems."/home/oh/docker/stash/data" = {
{ device = "192.168.1.71:/volume1/stash"; device = "192.168.1.71:/volume1/stash";
fsType = "nfs"; fsType = "nfs";
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/15978bb3-da9b-4ec2-bd35-1716dd97812b"; } {device = "/dev/disk/by-uuid/15978bb3-da9b-4ec2-bd35-1716dd97812b";}
]; ];
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,16 +1,17 @@
{config, pkgs, ...}:
{ {
config,
imports = [ pkgs,
../../home ...
]; }: {
systemd.user.startServices = "sd-switch"; imports = [
programs.home-manager.enable = true; ../../home
];
systemd.user.startServices = "sd-switch";
programs.home-manager.enable = true;
home = { home = {
username = "oh"; username = "oh";
homeDirectory = "/home/oh"; homeDirectory = "/home/oh";
stateVersion = "23.05"; stateVersion = "23.05";
}; };
} }

View file

@ -1,11 +1,12 @@
{ config, pkgs, ... }:
{ {
imports = config,
[ pkgs,
...
}: {
imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules ../../modules
]; ];
boot.loader = { boot.loader = {
grub = { grub = {
@ -15,25 +16,25 @@
useOSProber = false; useOSProber = false;
}; };
}; };
networking = { networking = {
hostName = "sutakku"; hostName = "sutakku";
}; };
services.xserver = { services.xserver = {
layout = "us"; layout = "us";
xkbVariant = ""; xkbVariant = "";
}; };
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
users = { users = {
defaultUserShell = pkgs.nushell; defaultUserShell = pkgs.nushell;
users.oh = { users.oh = {
isNormalUser = true; isNormalUser = true;
description = "oh"; description = "oh";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
};
}; };
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wget wget
@ -41,11 +42,11 @@
pinentry-curses pinentry-curses
]; ];
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = true; enableSSHSupport = true;
pinentryFlavor = "curses"; pinentryFlavor = "curses";
}; };
services.openssh.enable = true; services.openssh.enable = true;
} }

View file

@ -1,31 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/profiles/qemu-guest.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ ]; boot.kernelModules = [];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/dae21f73-2c6b-4959-90cc-07fb77c2a880"; device = "/dev/disk/by-uuid/dae21f73-2c6b-4959-90cc-07fb77c2a880";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/media" = fileSystems."/media" = {
{
device = "192.168.1.71:/volume1/media"; device = "192.168.1.71:/volume1/media";
fsType = "nfs"; fsType = "nfs";
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/990dd47b-fa78-4636-844e-83cc638052dc"; } {device = "/dev/disk/by-uuid/990dd47b-fa78-4636-844e-83cc638052dc";}
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,17 +1,18 @@
{config, pkgs, ...}:
{ {
config,
pkgs,
...
}: {
imports = [
../../home
];
imports = [ systemd.user.startServices = "sd-switch";
../../home programs.home-manager.enable = true;
];
systemd.user.startServices = "sd-switch";
programs.home-manager.enable = true;
home = { home = {
username = "oh"; username = "oh";
homeDirectory = "/home/oh"; homeDirectory = "/home/oh";
stateVersion = "23.05"; stateVersion = "23.05";
}; };
} }

View file

@ -1,17 +1,16 @@
{ {
config, config,
pkgs, pkgs,
... ...
}: { }: {
imports = imports = [
[
./hardware-configuration.nix ./hardware-configuration.nix
../../home/wayland ../../home/wayland
../../modules ../../modules
../../modules/fonts.nix ../../modules/fonts.nix
]; ];
# bootloader # bootloader
boot.loader = { boot.loader = {
systemd-boot = { systemd-boot = {
enable = true; enable = true;
@ -24,8 +23,8 @@
}; };
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ]; boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
boot.kernelModules = [ "v4l2loopback" "kvm-intel" ]; boot.kernelModules = ["v4l2loopback" "kvm-intel"];
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
@ -35,12 +34,12 @@
services = { services = {
xserver = { xserver = {
enable = true; enable = true;
videoDrivers = [ "nvidia" ]; videoDrivers = ["nvidia"];
layout = "us"; layout = "us";
xkbVariant = ""; xkbVariant = "";
};
}; };
};
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
@ -64,65 +63,65 @@
programs.steam = { programs.steam = {
enable = true; enable = true;
}; };
security.polkit.enable = true; security.polkit.enable = true;
security.pam.services.swaylock = { security.pam.services.swaylock = {
text = '' text = ''
auth include login auth include login
''; '';
}; };
hardware = { hardware = {
nvidia = { nvidia = {
powerManagement.enable = true; powerManagement.enable = true;
modesetting.enable = true; modesetting.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
}; };
opengl = { opengl = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
nvidia-vaapi-driver nvidia-vaapi-driver
]; ];
}; };
opentabletdriver = { opentabletdriver = {
enable = true; enable = true;
daemon.enable = true; daemon.enable = true;
};
}; };
};
users = { users = {
defaultUserShell = pkgs.nushell; defaultUserShell = pkgs.nushell;
users.notoh = { users.notoh = {
isNormalUser = true; isNormalUser = true;
description = "notoh"; description = "notoh";
extraGroups = [ "networkmanager" "wheel" "disk" "video" ]; extraGroups = ["networkmanager" "wheel" "disk" "video"];
};
}; };
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wget wget
dconf dconf
rustc rustc
rustup rustup
rustfmt rustfmt
go go
cargo cargo
nodejs nodejs
polkit_gnome polkit_gnome
libvirt libvirt
qemu_kvm qemu_kvm
gtk-engine-murrine gtk-engine-murrine
pinentry-gtk2 pinentry-gtk2
nfs-utils nfs-utils
nil nil
rust-analyzer rust-analyzer
gopls gopls
sumneko-lua-language-server sumneko-lua-language-server
marksman marksman
texlab texlab
jre8 jre8
jdk17 jdk17
jdk8 jdk8
nodePackages_latest.yaml-language-server nodePackages_latest.yaml-language-server
python310Packages.python-lsp-server python310Packages.python-lsp-server
]; ];
} }

View file

@ -1,45 +1,49 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/7d098aab-1968-4605-a9a7-b1627941c1ff"; device = "/dev/disk/by-uuid/7d098aab-1968-4605-a9a7-b1627941c1ff";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot/efi" = fileSystems."/boot/efi" = {
{ device = "/dev/disk/by-uuid/C356-B67C"; device = "/dev/disk/by-uuid/C356-B67C";
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/hdd" = fileSystems."/hdd" = {
{ device = "/dev/disk/by-uuid/e2e4c4f3-51df-4020-b557-a7cf684de85b"; device = "/dev/disk/by-uuid/e2e4c4f3-51df-4020-b557-a7cf684de85b";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/ssd" = fileSystems."/ssd" = {
{ device = "/dev/disk/by-uuid/9e5a189d-7435-45d7-aef6-cdee4de2428d"; device = "/dev/disk/by-uuid/9e5a189d-7435-45d7-aef6-cdee4de2428d";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/nas" = fileSystems."/nas" = {
{ device = "192.168.1.71:/volume1/tsuki"; device = "192.168.1.71:/volume1/tsuki";
fsType = "nfs"; fsType = "nfs";
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/2f5e2c64-99b8-4fa0-943c-c9dd45c84fdc"; } {device = "/dev/disk/by-uuid/2f5e2c64-99b8-4fa0-943c-c9dd45c84fdc";}
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,24 +1,20 @@
{ {pkgs, ...}: {
pkgs, imports = [
... ../../home
}: { ../../home/librewolf
../../home/wezterm
../../home/zathura
../../home/gtk
../../home/dunst
../../home/lf
../../home/zellij
../../home/waybar
../../home/wayland/hyprland
../../modules/swayidle.nix
];
imports = [ systemd.user.startServices = "sd-switch";
../../home programs.home-manager.enable = true;
../../home/librewolf
../../home/wezterm
../../home/zathura
../../home/gtk
../../home/dunst
../../home/lf
../../home/zellij
../../home/waybar
../../home/wayland/hyprland
../../modules/swayidle.nix
];
systemd.user.startServices = "sd-switch";
programs.home-manager.enable = true;
home = { home = {
username = "notoh"; username = "notoh";
@ -59,7 +55,7 @@ imports = [
cava cava
hollywood hollywood
]; ];
stateVersion = "23.05"; stateVersion = "23.05";
}; };
} }

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
imports = [ imports = [
./security.nix ./security.nix
./networking.nix ./networking.nix

View file

@ -1,8 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}: {
fonts = { fonts = {
enableDefaultFonts = false; enableDefaultFonts = false;
fontDir.enable = true; fontDir.enable = true;
@ -22,14 +18,13 @@
enable = true; enable = true;
allowBitmaps = true; allowBitmaps = true;
defaultFonts = { defaultFonts = {
monospace = [ "JetBrainsMono Nerd Font" "Twitter Color Emoji" ]; monospace = ["JetBrainsMono Nerd Font" "Twitter Color Emoji"];
serif = [ "Noto Serif" "Twitter Color Emoji" ]; serif = ["Noto Serif" "Twitter Color Emoji"];
sansSerif = [ "Noto Sans" "Twitter Color Emoji" ]; sansSerif = ["Noto Sans" "Twitter Color Emoji"];
emoji = [ "Twitter Color Emoji" ]; emoji = ["Twitter Color Emoji"];
}; };
hinting.style = "hintfull"; hinting.style = "hintfull";
}; };
}; };
} }

View file

@ -1,6 +1,4 @@
{ {...}: {
...
}: {
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = rec { settings = rec {
@ -12,5 +10,3 @@
}; };
}; };
} }

View file

@ -1,18 +1,16 @@
{ {...}: {
...
}: {
networking = { networking = {
networkmanager.enable = true; networkmanager.enable = true;
nameservers = [ "1.1.1.1" ]; nameservers = ["1.1.1.1"];
firewall = { firewall = {
enable = true; enable = true;
}; };
}; };
environment.etc = { environment.etc = {
"resolv.conf".text = "nameserver 1.1.1.1\n"; "resolv.conf".text = "nameserver 1.1.1.1\n";
}; };
services.tailscale = { services.tailscale = {
enable = true; enable = true;
}; };
} }

View file

@ -1,42 +1,38 @@
{ {pkgs, ...}: {
pkgs, nixpkgs = {
...
}: {
nixpkgs = {
config = { config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ permittedInsecurePackages = [
"qtwebkit-5.212.0-alpha4" "qtwebkit-5.212.0-alpha4"
"electron-12.2.3" "electron-12.2.3"
]; ];
}; };
}; };
nix = { nix = {
package = pkgs.nixFlakes; package = pkgs.nixFlakes;
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes
warn-dirty = false warn-dirty = false
''; '';
gc = { gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 7d"; options = "--delete-older-than 7d";
}; };
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
builders-use-substitutes = true; builders-use-substitutes = true;
keep-derivations = true; keep-derivations = true;
keep-outputs = true; keep-outputs = true;
substituters = [ substituters = [
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"https://cache.nixos.org" "https://cache.nixos.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
]; ];
}; };
}; };
} }

View file

@ -48,4 +48,3 @@
defaults.email = "github@notohh.dev"; defaults.email = "github@notohh.dev";
}; };
} }

View file

@ -1,14 +1,12 @@
{ {...}: {
...
}: {
home.file.".local/bin/lock" = { home.file.".local/bin/lock" = {
executable = true; executable = true;
text = '' text = ''
swayidle -w \ swayidle -w \
timeout 600 'swaylock -f --image ~/Pictures/wallpapers/anny.jpg --clock --grace 5 --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b' \ timeout 600 'swaylock -f --image ~/Pictures/wallpapers/anny.jpg --clock --grace 5 --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b' \
timeout 800 'hyprctl dispatch dpms off' \ timeout 800 'hyprctl dispatch dpms off' \
resume 'hyprctl dispatch dpms on' \ resume 'hyprctl dispatch dpms on' \
before-sleep 'swaylock -f --image ~/Picture/wallpapers/anny.jpg --clock --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b' before-sleep 'swaylock -f --image ~/Picture/wallpapers/anny.jpg --clock --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b'
''; '';
}; };
} }

View file

@ -1,8 +1,5 @@
{ {...}: {
... documentation = {
}: {
documentation = {
enable = true; enable = true;
doc.enable = false; doc.enable = false;
man.enable = true; man.enable = true;
@ -14,27 +11,26 @@
enable = true; enable = true;
}; };
}; };
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
i18n = { i18n = {
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
extraLocaleSettings = { extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8"; LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
}; };
}; };
systemd.services.systemd-udevd.restartIfChanged = false; systemd.services.systemd-udevd.restartIfChanged = false;
system.autoUpgrade.enable = false; system.autoUpgrade.enable = false;
system.stateVersion = "23.05"; # no touchy system.stateVersion = "23.05"; # no touchy
}
}

View file

@ -13,20 +13,22 @@ stdenv.mkDerivation rec {
sha256 = "sha256-qgSJPP4yhIKNhLNjS8mSupw98YyCqevKqLTGnONFAKk="; sha256 = "sha256-qgSJPP4yhIKNhLNjS8mSupw98YyCqevKqLTGnONFAKk=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = with pkgs; [ cmake pkg-config libsForQt5.qt5.wrapQtAppsHook ]; nativeBuildInputs = with pkgs; [cmake pkg-config libsForQt5.qt5.wrapQtAppsHook];
buildInputs = with pkgs; [ libsForQt5.qt5.qtbase libsForQt5.qt5.qtsvg libsForQt5.qt5.qtmultimedia libsForQt5.qt5.qtimageformats libsForQt5.qt5.qttools boost openssl libsecret ]; buildInputs = with pkgs; [libsForQt5.qt5.qtbase libsForQt5.qt5.qtsvg libsForQt5.qt5.qtmultimedia libsForQt5.qt5.qtimageformats libsForQt5.qt5.qttools boost openssl libsecret];
configurationPhase = '' configurationPhase = ''
mkdir build && cd build mkdir build && cd build
cmake .. cmake ..
''; '';
buildPhase = '' buildPhase = ''
make make
''; '';
installPhase = '' installPhase =
mkdir -p "$out/bin" ''
mv "bin/chatterino" "$out/bin" mkdir -p "$out/bin"
'' + '' mv "bin/chatterino" "$out/bin"
mkdir -p $out/share/icons/hicolor/256x256/apps ''
cp $src/resources/icon.png $out/share/icons/hicolor/256x256/apps/chatterino.png + ''
''; mkdir -p $out/share/icons/hicolor/256x256/apps
} cp $src/resources/icon.png $out/share/icons/hicolor/256x256/apps/chatterino.png
'';
}