diff --git a/flake.nix b/flake.nix index c9107ef..e275323 100755 --- a/flake.nix +++ b/flake.nix @@ -1,30 +1,34 @@ { description = "snowflake"; - + inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; hyprland.url = "github:hyprwm/Hyprland"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; - }; + }; }; - outputs = { self, nixpkgs, home-manager, hyprland, ... }@inputs: - let - system = "x86_64-linux"; - lib = nixpkgs.lib; - in { - nixosConfigurations = { - tsuki = lib.nixosSystem { - inherit system; - modules = [ - ./hosts/tsuki - home-manager.nixosModules.home-manager { + outputs = { + self, + nixpkgs, + home-manager, + hyprland, + ... + } @ inputs: let + system = "x86_64-linux"; + lib = nixpkgs.lib; + in { + nixosConfigurations = { + tsuki = lib.nixosSystem { + inherit system; + modules = [ + ./hosts/tsuki + home-manager.nixosModules.home-manager + { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { - inherit inputs; - }; + home-manager.extraSpecialArgs = {inherit inputs;}; home-manager.users.notoh = { imports = [ hyprland.homeManagerModules.default @@ -34,36 +38,32 @@ } ]; }; - hime = lib.nixosSystem { - inherit system; - modules = [ - ./hosts/hime - home-manager.nixosModules.home-manager { + hime = lib.nixosSystem { + inherit system; + modules = [ + ./hosts/hime + home-manager.nixosModules.home-manager + { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.oh = { - imports = [ - ./hosts/hime/home.nix - ]; - }; + home-manager.users.oh = {imports = [./hosts/hime/home.nix];}; } ]; }; - sutakku = lib.nixosSystem { + sutakku = lib.nixosSystem { inherit system; modules = [ ./hosts/sutakku - home-manager.nixosModules.home-manager { + home-manager.nixosModules.home-manager + { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.oh = { - imports = [ - ./hosts/sutakku/home.nix - ]; + imports = [./hosts/sutakku/home.nix]; }; } ]; }; }; - }; + }; } diff --git a/home/default.nix b/home/default.nix index 3ad82bb..a8b55fd 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,7 +1,4 @@ -{ - pkgs, - ... -}: { +{pkgs, ...}: { imports = [ ./neofetch ./nushell @@ -16,5 +13,6 @@ home.packages = with pkgs; [ bat croc + alejandra ]; -} \ No newline at end of file +} diff --git a/home/direnv/default.nix b/home/direnv/default.nix index 51b9819..16e9009 100644 --- a/home/direnv/default.nix +++ b/home/direnv/default.nix @@ -1,9 +1,7 @@ -{ - ... -}: { +{...}: { programs.direnv = { enable = true; enableNushellIntegration = true; nix-direnv.enable = true; }; -} \ No newline at end of file +} diff --git a/home/dunst/config.nix b/home/dunst/config.nix index ae4dc8d..f8d9a4f 100644 --- a/home/dunst/config.nix +++ b/home/dunst/config.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { global = { frame_color = "#f5c2e7"; frame_width = "4"; @@ -20,9 +18,9 @@ background = "#1E1E2E"; foreground = "#CDD6F4"; }; - urgency_critical ={ + urgency_critical = { background = "#1E1E2E"; foreground = "#CDD6F4"; frame_color = "#FAB387"; }; -} \ No newline at end of file +} diff --git a/home/dunst/default.nix b/home/dunst/default.nix index 71628c2..a1104c9 100644 --- a/home/dunst/default.nix +++ b/home/dunst/default.nix @@ -1,9 +1,7 @@ -{ - ... -}: { +{...}: { services.dunst = { enable = true; waylandDisplay = "DP-2"; settings = ./config.nix; }; -} \ No newline at end of file +} diff --git a/home/git/default.nix b/home/git/default.nix index 81b6a72..07e2c26 100644 --- a/home/git/default.nix +++ b/home/git/default.nix @@ -1,17 +1,14 @@ -{ - pkgs, - ... -}: { - home.packages = with pkgs; [ gh ]; +{pkgs, ...}: { + home.packages = with pkgs; [gh]; programs.git = { enable = true; userEmail = "github@notohh.dev"; userName = "notohh"; - signing = { - key = "BD47506D475EE86D"; - signByDefault = true; - }; - ignores = ["*result*" ".direnv" "node_modules"]; - }; -} \ No newline at end of file + signing = { + key = "BD47506D475EE86D"; + signByDefault = true; + }; + ignores = ["*result*" ".direnv" "node_modules"]; + }; +} diff --git a/home/gtk/default.nix b/home/gtk/default.nix index d6538ac..8952226 100644 --- a/home/gtk/default.nix +++ b/home/gtk/default.nix @@ -1,8 +1,4 @@ -{ - pkgs, - ... -}: { - +{pkgs, ...}: { home.pointerCursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; @@ -11,7 +7,7 @@ x11.enable = true; }; - gtk = { + gtk = { enable = true; theme = { name = "Catppuccin-Mocha-Standard-Pink-Dark"; @@ -21,4 +17,4 @@ }; }; }; -} \ No newline at end of file +} diff --git a/home/helix/default.nix b/home/helix/default.nix index cbd1df0..02dfad7 100644 --- a/home/helix/default.nix +++ b/home/helix/default.nix @@ -1,14 +1,12 @@ -{ - ... -}: { +{...}: { imports = [ ./themes/catppuccin_mocha.nix ]; programs.helix = { - enable = true; - settings = { - theme = "catppuccin_mocha"; - editor = { + enable = true; + settings = { + theme = "catppuccin_mocha"; + editor = { true-color = true; color-modes = true; cursorline = true; @@ -20,39 +18,39 @@ indent-guides = { render = true; rainbow = "dim"; - - languages = [ - { - name = "nix"; - auto-format = true; - } - { - name = "rust"; - } - { - name = "go"; - } - { - name = "lua"; - } - { - name = "python"; - } - { - name = "markdown"; - } - { - name = "html"; - } - { - name = "css"; - } - { - name = "yaml"; - } - ]; + + languages = [ + { + name = "nix"; + auto-format = true; + } + { + name = "rust"; + } + { + name = "go"; + } + { + name = "lua"; + } + { + name = "python"; + } + { + name = "markdown"; + } + { + name = "html"; + } + { + name = "css"; + } + { + name = "yaml"; + } + ]; + }; + }; }; - }; }; - }; } diff --git a/home/helix/themes/catppuccin_mocha.nix b/home/helix/themes/catppuccin_mocha.nix index 6f792cf..23eb7f8 100644 --- a/home/helix/themes/catppuccin_mocha.nix +++ b/home/helix/themes/catppuccin_mocha.nix @@ -1,121 +1,217 @@ -{ - ... -}: { +{...}: { programs.helix = { - themes.catppuccin_mocha = let - transparent = "none"; - rosewater = "#f5e0dc"; - flamingo = "#f2cdcd"; - pink = "#f5c2e7"; - mauve = "#cba6f7"; - red = "#f38ba8"; - maroon = "#eba0ac"; - peach = "#fab387"; - yellow = "#f9e2af"; - green = "#a6e3a1"; - teal = "#94e2d5"; - sky = "#89dceb"; - sapphire = "#74c7ec"; - blue = "#89b4fa"; - lavender = "#b4befe"; - - text = "#cdd6f4"; - subtext1 = "#bac2de"; - subtext0 = "#a6adc8"; - overlay2 = "#9399b2"; - overlay1 = "#7f849c"; - overlay0 = "#6c7086"; - surface2 = "#585b70"; - surface1 = "#45475a"; - surface0 = "#313244"; - - base = "#1e1e2e"; - mantle = "#181825"; - crust = "#11111b"; - - cursorline = "#2a2b3c"; - secondary_cursor = "#b5a6a8"; - in { - "type" = yellow; - "constructor" = sapphire; - "constant" = peach; - "constant.builtin" = peach; - "constant.character" = teal; - "constant.character.escape" = pink; - "string" = green; - "string.regexp" = peach; - "string.special" = blue; - "comment" = {fg = maroon; modifiers = ["italic"]; }; - "variable" = "text"; - "variable.parameter" = {fg = maroon; modifiers = ["italic"]; }; - "variable.builtin" = red; - "variable.other.member" = teal; - "label" = sapphire; - "punctuation" = overlay2; - "punctuation.special" = sky; - "keyword" = mauve; - "keyword.control.conditional" = {fg = mauve; modifiers = ["italic"]; }; - "operator" = sky; - "function" = blue; - "function.macro" = mauve; - "tag" = mauve; - "attribute" = blue; - "namespace" = {fg = blue; modifiers = ["italic"]; }; - "special" = blue; - "markup.heading.marker" = {fg = peach; modifiers = ["bold"]; }; - "markup.heading.1" = lavender; - "markup.heading.2" = mauve; - "markup.heading.3" = green; - "markup.heading.4" = yellow; - "markup.heading.5" = pink; - "markup.heading.6" = teal; - "markup.list" = mauve; - "markup.bold" = { modifiers = ["bold"]; }; - "markup.italic" = { modifiers = ["italic"]; }; - "markup.link.url" = {fg = rosewater; modifiers = ["italic" "underlined"]; }; - "markup.link.text" = blue; - "markup.raw" = flamingo; - "diff.plus" = green; - "diff.minus" = red; - "diff.delta" = blue; - "ui.background" = {fg = surface1; }; - "ui.linenr" = { fg = surface1; }; - "ui.linenr.selected" = { fg = lavender; }; - "ui.statusline" = { fg = subtext1; bg = mantle; }; - "ui.statusline.inactive" = { fg = surface2; bg = mantle; }; - "ui.statusline.normal" = { fg = base; bg = lavender; modifiers = ["bold"]; }; - "ui.statusline.insert" = { fg = base; bg = green; 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; + themes.catppuccin_mocha = let + transparent = "none"; + rosewater = "#f5e0dc"; + flamingo = "#f2cdcd"; + pink = "#f5c2e7"; + mauve = "#cba6f7"; + red = "#f38ba8"; + maroon = "#eba0ac"; + peach = "#fab387"; + yellow = "#f9e2af"; + green = "#a6e3a1"; + teal = "#94e2d5"; + sky = "#89dceb"; + sapphire = "#74c7ec"; + blue = "#89b4fa"; + lavender = "#b4befe"; + + text = "#cdd6f4"; + subtext1 = "#bac2de"; + subtext0 = "#a6adc8"; + overlay2 = "#9399b2"; + overlay1 = "#7f849c"; + overlay0 = "#6c7086"; + surface2 = "#585b70"; + surface1 = "#45475a"; + surface0 = "#313244"; + + base = "#1e1e2e"; + mantle = "#181825"; + crust = "#11111b"; + + cursorline = "#2a2b3c"; + secondary_cursor = "#b5a6a8"; + in { + "type" = yellow; + "constructor" = sapphire; + "constant" = peach; + "constant.builtin" = peach; + "constant.character" = teal; + "constant.character.escape" = pink; + "string" = green; + "string.regexp" = peach; + "string.special" = blue; + "comment" = { + fg = maroon; + modifiers = ["italic"]; + }; + "variable" = "text"; + "variable.parameter" = { + fg = maroon; + modifiers = ["italic"]; + }; + "variable.builtin" = red; + "variable.other.member" = teal; + "label" = sapphire; + "punctuation" = overlay2; + "punctuation.special" = sky; + "keyword" = mauve; + "keyword.control.conditional" = { + fg = mauve; + modifiers = ["italic"]; + }; + "operator" = sky; + "function" = blue; + "function.macro" = mauve; + "tag" = mauve; + "attribute" = blue; + "namespace" = { + fg = blue; + modifiers = ["italic"]; + }; + "special" = blue; + "markup.heading.marker" = { + fg = peach; + modifiers = ["bold"]; + }; + "markup.heading.1" = lavender; + "markup.heading.2" = mauve; + "markup.heading.3" = green; + "markup.heading.4" = yellow; + "markup.heading.5" = pink; + "markup.heading.6" = teal; + "markup.list" = mauve; + "markup.bold" = {modifiers = ["bold"];}; + "markup.italic" = {modifiers = ["italic"];}; + "markup.link.url" = { + fg = rosewater; + modifiers = ["italic" "underlined"]; + }; + "markup.link.text" = blue; + "markup.raw" = flamingo; + "diff.plus" = green; + "diff.minus" = red; + "diff.delta" = blue; + "ui.background" = {fg = surface1;}; + "ui.linenr" = {fg = surface1;}; + "ui.linenr.selected" = {fg = lavender;}; + "ui.statusline" = { + fg = subtext1; + bg = mantle; + }; + "ui.statusline.inactive" = { + fg = surface2; + bg = mantle; + }; + "ui.statusline.normal" = { + fg = base; + bg = lavender; + modifiers = ["bold"]; + }; + "ui.statusline.insert" = { + fg = base; + bg = green; + 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; }; }; -} \ No newline at end of file +} diff --git a/home/lazygit/default.nix b/home/lazygit/default.nix index 7fe2484..6b7dc72 100644 --- a/home/lazygit/default.nix +++ b/home/lazygit/default.nix @@ -1,20 +1,18 @@ -{ - ... -}: { +{...}: { programs.lazygit = { enable = true; settings = { windowSize = "normal"; gui.theme = { - lightTheme = false; - activeBorderColor = [ "#a6e3a1" "bold" ]; - inactiveBorderColor = [ "#cdd6f4" ]; - optionsTextColor = [ "#89b4fa" ]; - selectedLineBgColor = [ "#313244" ]; - selectedRangeByColor = [ "#313244" ]; - cherryPickedCommitBgColor = [ "#94e2d5" ]; - cherryPickedCommitFgColor = [ "#89b4fa" ]; - unstagedChangesColor = [ "red" ]; + lightTheme = false; + activeBorderColor = ["#a6e3a1" "bold"]; + inactiveBorderColor = ["#cdd6f4"]; + optionsTextColor = ["#89b4fa"]; + selectedLineBgColor = ["#313244"]; + selectedRangeByColor = ["#313244"]; + cherryPickedCommitBgColor = ["#94e2d5"]; + cherryPickedCommitFgColor = ["#89b4fa"]; + unstagedChangesColor = ["red"]; }; }; }; diff --git a/home/lf/default.nix b/home/lf/default.nix index 3dd23f9..75b97e3 100644 --- a/home/lf/default.nix +++ b/home/lf/default.nix @@ -1,7 +1,4 @@ -{ - pkgs, - ... -}: { +{pkgs, ...}: { programs.lf = { enable = true; settings = { diff --git a/home/librewolf/default.nix b/home/librewolf/default.nix index 29bce11..ea4608c 100644 --- a/home/librewolf/default.nix +++ b/home/librewolf/default.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { programs.librewolf = { enable = true; settings = { @@ -20,7 +18,7 @@ "browser.startup.homepage" = "http://dashboard.lab/"; }; }; - + # enable librewolf as the default browser, with some extra config xdg.mimeApps = { enable = true; @@ -38,6 +36,6 @@ "application/xhtml+xml" = ["librewolf.desktop"]; "application/x-extension-xhtml" = ["librewolf.desktop"]; "application/x-extension-xht" = ["librewolf.desktop"]; - }; + }; }; - } +} diff --git a/home/neofetch/default.nix b/home/neofetch/default.nix index f2672bb..415024c 100644 --- a/home/neofetch/default.nix +++ b/home/neofetch/default.nix @@ -6,5 +6,5 @@ home.packages = with pkgs; [ neofetch ]; - xdg.configFile."neofetch/config.conf".source =./config.conf; + xdg.configFile."neofetch/config.conf".source = ./config.conf; } diff --git a/home/nushell/default.nix b/home/nushell/default.nix index 4d74d9d..b36fc6a 100644 --- a/home/nushell/default.nix +++ b/home/nushell/default.nix @@ -1,9 +1,7 @@ -{ - ... -}: { +{...}: { programs.nushell = { enable = true; configFile.source = ./config.nu; envFile.source = ./env.nu; }; -} \ No newline at end of file +} diff --git a/home/starship/default.nix b/home/starship/default.nix index 7469df7..b3d1ccd 100644 --- a/home/starship/default.nix +++ b/home/starship/default.nix @@ -9,91 +9,90 @@ enable = true; enableNushellIntegration = true; settings = { - format = lib.concatStrings [ - "[░▒▓](#f5c2e7)" - "$username" - "$hostname" - "[](bg:#f38ba8 fg:#f5c2e7)" - "$directory" - "[](fg:#f38ba8 bg:#eb7c92)" - "$git_branch" - "$git_status" - "[](fg:#eb7c92 bg:#e6657f)" - "$c" - "$golang" - "$nodejs" - "$rust" - "$docker_context" - "[](fg:#e6657f bg:#e05a75)" - "$time" - "[](fg:#e05a75)" - ]; - username = { - show_always = true; - style_user = "bg:#f5c2e7 fg:#11111b"; - style_root = "bg:#f5c2e7 fg:#11111b"; - format = "[ $user]($style)"; - }; - hostname = { - ssh_symbol = ""; - style = "bg:#f5c2e7 fg:#11111b"; - format = "[@$hostname]($style)"; - ssh_only = false; - disabled = false; - }; - directory = { - style = "bg:#f38ba8 fg:#11111b"; - format = "[ $path ]($style)"; - truncation_length = 3; - truncation_symbol = "…/"; - }; - directory.substitutions = { - "Documents" = " "; - "Downloads" = " "; - "Music" = " "; - "Pictures" = " "; - }; - c = { - symbol = " "; - style = "bg:#e6657f fg:#11111b"; - format = "[ $symbol ($version) ]($style)"; - }; - docker_context = { - symbol = " "; - style = "bg:#e6657f fg:#11111b"; - format = "[ $symbol $context ]($style) $path"; - }; - git_branch = { - symbol = ""; - style = "bg:#eb7c92 fg:#11111b"; - format = "[ $symbol $branch ]($style)"; - }; - git_status = { - style = "bg:#eb7c92 fg:#11111b"; - format = "[$all_status$ahead_behind ]($style)"; - }; - golang = { - symbol = " "; - style = "bg:#e6657f fg:#11111b"; - format = "[ $symbol ($version) ]($style)"; - }; - nodejs = { - symbol = ""; - style = "bg:#e6657f fg:#11111b"; - format = "[ $symbol ($version) ]($style)"; - }; - rust = { - symbol = ""; - style = "bg:#e6657f fg:#11111b"; - format = "[ $symbol ($version) ]($style)"; - }; - time = { - disabled = false; - time_format = "%R"; # Hour:Minute Format - style = "bg:#e05a75 fg:#11111b"; - format = "[ $time ]($style)"; - }; - + format = lib.concatStrings [ + "[░▒▓](#f5c2e7)" + "$username" + "$hostname" + "[](bg:#f38ba8 fg:#f5c2e7)" + "$directory" + "[](fg:#f38ba8 bg:#eb7c92)" + "$git_branch" + "$git_status" + "[](fg:#eb7c92 bg:#e6657f)" + "$c" + "$golang" + "$nodejs" + "$rust" + "$docker_context" + "[](fg:#e6657f bg:#e05a75)" + "$time" + "[](fg:#e05a75)" + ]; + username = { + show_always = true; + style_user = "bg:#f5c2e7 fg:#11111b"; + style_root = "bg:#f5c2e7 fg:#11111b"; + format = "[ $user]($style)"; + }; + hostname = { + ssh_symbol = ""; + style = "bg:#f5c2e7 fg:#11111b"; + format = "[@$hostname]($style)"; + ssh_only = false; + disabled = false; + }; + directory = { + style = "bg:#f38ba8 fg:#11111b"; + format = "[ $path ]($style)"; + truncation_length = 3; + truncation_symbol = "…/"; + }; + directory.substitutions = { + "Documents" = " "; + "Downloads" = " "; + "Music" = " "; + "Pictures" = " "; + }; + c = { + symbol = " "; + style = "bg:#e6657f fg:#11111b"; + format = "[ $symbol ($version) ]($style)"; + }; + docker_context = { + symbol = " "; + style = "bg:#e6657f fg:#11111b"; + format = "[ $symbol $context ]($style) $path"; + }; + git_branch = { + symbol = ""; + style = "bg:#eb7c92 fg:#11111b"; + format = "[ $symbol $branch ]($style)"; + }; + git_status = { + style = "bg:#eb7c92 fg:#11111b"; + format = "[$all_status$ahead_behind ]($style)"; + }; + golang = { + symbol = " "; + style = "bg:#e6657f fg:#11111b"; + format = "[ $symbol ($version) ]($style)"; + }; + nodejs = { + symbol = ""; + style = "bg:#e6657f fg:#11111b"; + format = "[ $symbol ($version) ]($style)"; + }; + rust = { + symbol = ""; + style = "bg:#e6657f fg:#11111b"; + format = "[ $symbol ($version) ]($style)"; + }; + time = { + disabled = false; + time_format = "%R"; # Hour:Minute Format + style = "bg:#e05a75 fg:#11111b"; + format = "[ $time ]($style)"; + }; }; }; -} \ No newline at end of file +} diff --git a/home/waybar/default.nix b/home/waybar/default.nix index 760ca05..9fd2e8e 100644 --- a/home/waybar/default.nix +++ b/home/waybar/default.nix @@ -3,13 +3,12 @@ pkgs, lib, ... -}: - let +}: let compileSCSS = name: source: "${pkgs.runCommandLocal name {} '' mkdir -p $out ${lib.getExe pkgs.sassc} -t expanded '${source}' > $out/${name}.css ''}/${name}.css"; - in { +in { programs.waybar = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.waybar-hyprland; @@ -23,9 +22,9 @@ spacing = 10; margin-top = 8; modules-left = [ - "image/nixos" - "user" - "wlr/workspaces" + "image/nixos" + "user" + "wlr/workspaces" ]; modules-center = [ "hyprland/window" @@ -40,7 +39,7 @@ "image/nixos" = { path = "/home/notoh/snowflake/home/waybar/assets/nixos.png"; size = 24; - }; + }; "user" = { format = "{user} up {work_d} days | {work_H} hrs | {work_M} min ↑"; interval = 60; @@ -89,4 +88,4 @@ }; style = builtins.readFile (compileSCSS "waybar-style" ./style.scss); }; -} \ No newline at end of file +} diff --git a/home/wayland/default.nix b/home/wayland/default.nix index fc9b0da..2abe2b7 100644 --- a/home/wayland/default.nix +++ b/home/wayland/default.nix @@ -1,9 +1,4 @@ -{ - pkgs, - ... -}: - -let +{pkgs, ...}: let dbus-hyprland-environment = pkgs.writeTextFile { name = "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 ''; }; - in -{ - +in { imports = [ - ../../modules/greetd.nix + ../../modules/greetd.nix ]; - + environment.systemPackages = with pkgs; [ dbus-hyprland-environment wayland @@ -44,7 +37,7 @@ let xdg-desktop-portal-hyprland xdg-desktop-portal-gtk ]; - }; + }; programs.xwayland.enable = true; @@ -69,5 +62,4 @@ let environment.etc."greetd/environments".text = '' Hyprland ''; - -} \ No newline at end of file +} diff --git a/home/wayland/hyprland/config.nix b/home/wayland/hyprland/config.nix index f2ac366..d6cb966 100644 --- a/home/wayland/hyprland/config.nix +++ b/home/wayland/hyprland/config.nix @@ -1,162 +1,160 @@ -{ - ... -}: { +{...}: { wayland.windowManager.hyprland.extraConfig = '' -monitor = HDMI-A-1,1920x1080,5760x0,1 #right -monitor = DP-2,1920x1080,1920x0,1 #left -monitor = DP-3,1920x1080@144,3840x0,1 #middle + monitor = HDMI-A-1,1920x1080,5760x0,1 #right + monitor = DP-2,1920x1080,1920x0,1 #left + monitor = DP-3,1920x1080@144,3840x0,1 #middle -input { + input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = - follow_mouse = 1 + follow_mouse = 1 - sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification. - force_no_accel = true -} + sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification. + force_no_accel = true + } -general { + general { - gaps_in = 6 - gaps_out = 15 - border_size = 4 - col.active_border = rgb(f5c2e7) - col.inactive_border = rgb(6c7086) + gaps_in = 6 + gaps_out = 15 + border_size = 4 + col.active_border = rgb(f5c2e7) + col.inactive_border = rgb(6c7086) - layout = dwindle -} + layout = dwindle + } -decoration { + decoration { - rounding = 8 + rounding = 8 - #blur - blur = yes - blur_size = 5 - blur_passes = 3 - blur_new_optimizations = on - 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) -} + #blur + blur = yes + blur_size = 5 + blur_passes = 3 + blur_new_optimizations = on + multisample_edges = true -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 - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} + enabled = yes -dwindle { + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - pseudotile = yes - preserve_split = yes - -} + animation = windows, 1, 7, myBezier + 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 -exec-once = ~/.local/bin/lock + device:epic mouse V1 { -#windowrules -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)$ + sensitivity = -0.5 + } -#binds -$mainMod = SUPER + exec-once = waybar & dunst -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 + exec-once = swww init -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 + 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 -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 + # swayidle / lock + exec-once = ~/.local/bin/lock -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 + #windowrules + 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 -bindm = $mainMod, mouse:273, resizewindow + #binds + $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 ''; } diff --git a/home/wayland/hyprland/default.nix b/home/wayland/hyprland/default.nix index fb0f3b1..ef93002 100644 --- a/home/wayland/hyprland/default.nix +++ b/home/wayland/hyprland/default.nix @@ -1,8 +1,6 @@ -{ - ... -}: { +{...}: { imports = [./config.nix]; - + wayland.windowManager.hyprland = { enable = true; nvidiaPatches = true; @@ -17,4 +15,4 @@ night = 3750; }; }; -} \ No newline at end of file +} diff --git a/home/wezterm/default.nix b/home/wezterm/default.nix index 6892cb1..a8083ae 100644 --- a/home/wezterm/default.nix +++ b/home/wezterm/default.nix @@ -1,33 +1,31 @@ -{ - ... -}: { - programs.wezterm = { +{...}: { + programs.wezterm = { enable = true; extraConfig = '' - local wezterm = require 'wezterm' + local wezterm = require 'wezterm' - return { - front_end = "WebGpu", - webgpu_preferred_adapter = { - backend="Vulkan", - device_type="DiscreteGpu", - name="NVIDIA GeForce GTX 1070 Ti" - }, - enable_wayland = false, - font = wezterm.font 'Comic Code Ligatures', - font_size = 12.0, - window_background_opacity = 0.6, - text_background_opacity = 1.0, - enable_tab_bar = false, - color_scheme = 'Catppuccin Mocha', + return { + front_end = "WebGpu", + webgpu_preferred_adapter = { + backend="Vulkan", + device_type="DiscreteGpu", + name="NVIDIA GeForce GTX 1070 Ti" + }, + enable_wayland = false, + font = wezterm.font 'Comic Code Ligatures', + font_size = 12.0, + window_background_opacity = 0.6, + text_background_opacity = 1.0, + enable_tab_bar = false, + color_scheme = 'Catppuccin Mocha', - window_padding = { - top = 0, - bottom = 0, - left = 0, - right = 0, - } -} -''; - }; + window_padding = { + top = 0, + bottom = 0, + left = 0, + right = 0, + } + } + ''; + }; } diff --git a/home/zathura/default.nix b/home/zathura/default.nix index e1262d7..551d755 100644 --- a/home/zathura/default.nix +++ b/home/zathura/default.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { programs.zathura = { enable = true; extraConfig = '' @@ -23,25 +21,25 @@ set notification-error-fg "#F38BA8" set notification-warning-bg "#313244" set notification-warning-fg "#FAE3B0" - + set inputbar-fg "#CDD6F4" set inputbar-bg "#313244" - + set recolor-lightcolor "#1E1E2E" set recolor-darkcolor "#CDD6F4" - + set index-fg "#CDD6F4" set index-bg "#1E1E2E" set index-active-fg "#CDD6F4" set index-active-bg "#313244" - + set render-loading-bg "#1E1E2E" set render-loading-fg "#CDD6F4" - + set highlight-color "#575268" set highlight-fg "#F5C2E7" set highlight-active-color "#F5C2E7" - + ''; }; -} \ No newline at end of file +} diff --git a/home/zellij/default.nix b/home/zellij/default.nix index c78a061..a2fad57 100644 --- a/home/zellij/default.nix +++ b/home/zellij/default.nix @@ -1,10 +1,8 @@ -{ - ... -}: { +{...}: { imports = [ ./layouts.nix ]; - + programs.zellij = { enable = true; settings = { @@ -25,7 +23,7 @@ cyan = "#89dceb"; black = "#181825"; white = "#cdd6f4"; - }; - }; - }; + }; + }; + }; } diff --git a/home/zellij/layouts.nix b/home/zellij/layouts.nix index 64c50c9..33df45f 100644 --- a/home/zellij/layouts.nix +++ b/home/zellij/layouts.nix @@ -1,67 +1,65 @@ -{ - ... -}: { +{...}: { home.file.".config/zellij/snowflake.kdl".text = '' - layout { - tab name="main" { - pane size=1 borderless=true { - plugin location="zellij:tab-bar" + layout { + tab name="main" { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane split_direction="vertical" { + pane size="110" + pane split_direction="horizontal" { + pane + pane + } } - pane split_direction="vertical" { - pane size="110" - pane split_direction="horizontal" { - pane - pane + 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" + } } } - 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 = '' - layout { - tab name="ssh" { - pane size=1 borderless=true { - plugin location="zellij:tab-bar" - } - pane split_direction="vertical" { - pane - pane split_direction="horizontal" { - pane command="ssh" { - args "oh@100.117.178.88" + layout { + tab name="ssh" { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" } - pane command="ssh" { - args "oh@100.103.228.56" + pane split_direction="vertical" { + 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" - } - } -} ''; } diff --git a/home/zoxide/default.nix b/home/zoxide/default.nix index d11eb9b..e61a5bf 100644 --- a/home/zoxide/default.nix +++ b/home/zoxide/default.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { programs.zoxide = { enable = true; enableNushellIntegration = true; diff --git a/hosts/hime/default.nix b/hosts/hime/default.nix index fe53e52..7087a2f 100644 --- a/hosts/hime/default.nix +++ b/hosts/hime/default.nix @@ -1,12 +1,8 @@ -{ - pkgs, - ... -}: { - imports = - [ +{pkgs, ...}: { + imports = [ ./hardware-configuration.nix ../../modules - ]; + ]; boot.loader = { grub = { @@ -16,43 +12,41 @@ useOSProber = false; }; }; - + networking = { hostName = "hime"; }; - - services.xserver = { + + services.xserver = { layout = "us"; xkbVariant = ""; }; services.openssh = { - enable = true; - settings = { - PasswordAuthentication = true; + enable = true; + settings = { + PasswordAuthentication = true; + }; }; -}; virtualisation.docker.enable = true; - users ={ - defaultUserShell = pkgs.nushell; - users.oh = { - isNormalUser = true; - description = "oh"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - hugo - yt-dlp - ]; + users = { + defaultUserShell = pkgs.nushell; + users.oh = { + isNormalUser = true; + description = "oh"; + extraGroups = ["networkmanager" "wheel"]; + packages = with pkgs; [ + hugo + yt-dlp + ]; + }; }; -}; - environment.systemPackages = with pkgs; [ - docker-compose - wget - python3Full - nfs-utils + docker-compose + wget + python3Full + nfs-utils ]; - } diff --git a/hosts/hime/hardware-configuration.nix b/hosts/hime/hardware-configuration.nix index d275507..fc4a510 100644 --- a/hosts/hime/hardware-configuration.nix +++ b/hosts/hime/hardware-configuration.nix @@ -1,38 +1,42 @@ -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; + config, + 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.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/154e6059-35f9-49bb-b049-085b325ac997"; - fsType = "ext4"; - }; - fileSystems."/home/oh/nas" = - { device = "192.168.1.71:/volume1/hime"; + fileSystems."/" = { + device = "/dev/disk/by-uuid/154e6059-35f9-49bb-b049-085b325ac997"; + fsType = "ext4"; + }; + fileSystems."/home/oh/nas" = { + device = "192.168.1.71:/volume1/hime"; fsType = "nfs"; }; - fileSystems."/home/oh/docker/nextcloud" = - { device = "192.168.1.71:/volume1/nextcloud"; + fileSystems."/home/oh/docker/nextcloud" = { + device = "192.168.1.71:/volume1/nextcloud"; fsType = "nfs"; }; - fileSystems."/home/oh/docker/stash/data" = - { device = "192.168.1.71:/volume1/stash"; + fileSystems."/home/oh/docker/stash/data" = { + device = "192.168.1.71:/volume1/stash"; fsType = "nfs"; }; - swapDevices = - [ { device = "/dev/disk/by-uuid/15978bb3-da9b-4ec2-bd35-1716dd97812b"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/15978bb3-da9b-4ec2-bd35-1716dd97812b";} + ]; networking.useDHCP = lib.mkDefault true; - + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/hime/home.nix b/hosts/hime/home.nix index bcbf576..5636d6b 100644 --- a/hosts/hime/home.nix +++ b/hosts/hime/home.nix @@ -1,16 +1,17 @@ -{config, pkgs, ...}: - { - -imports = [ - ../../home -]; - systemd.user.startServices = "sd-switch"; - programs.home-manager.enable = true; + config, + pkgs, + ... +}: { + imports = [ + ../../home + ]; + systemd.user.startServices = "sd-switch"; + programs.home-manager.enable = true; home = { username = "oh"; homeDirectory = "/home/oh"; stateVersion = "23.05"; }; -} \ No newline at end of file +} diff --git a/hosts/sutakku/default.nix b/hosts/sutakku/default.nix index d8175e8..e263e3d 100644 --- a/hosts/sutakku/default.nix +++ b/hosts/sutakku/default.nix @@ -1,11 +1,12 @@ -{ config, pkgs, ... }: - { - imports = - [ + config, + pkgs, + ... +}: { + imports = [ ./hardware-configuration.nix ../../modules - ]; + ]; boot.loader = { grub = { @@ -15,25 +16,25 @@ useOSProber = false; }; }; - - networking = { + + networking = { hostName = "sutakku"; }; - + services.xserver = { layout = "us"; xkbVariant = ""; }; - + virtualisation.docker.enable = true; users = { - defaultUserShell = pkgs.nushell; - users.oh = { - isNormalUser = true; - description = "oh"; - extraGroups = [ "networkmanager" "wheel" ]; + defaultUserShell = pkgs.nushell; + users.oh = { + isNormalUser = true; + description = "oh"; + extraGroups = ["networkmanager" "wheel"]; + }; }; -}; environment.systemPackages = with pkgs; [ wget @@ -41,11 +42,11 @@ pinentry-curses ]; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryFlavor = "curses"; - }; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryFlavor = "curses"; + }; - services.openssh.enable = true; + services.openssh.enable = true; } diff --git a/hosts/sutakku/hardware-configuration.nix b/hosts/sutakku/hardware-configuration.nix index 06d2ee7..fc24e3d 100644 --- a/hosts/sutakku/hardware-configuration.nix +++ b/hosts/sutakku/hardware-configuration.nix @@ -1,31 +1,34 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; + config, + 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.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/dae21f73-2c6b-4959-90cc-07fb77c2a880"; - fsType = "ext4"; - }; - fileSystems."/media" = - { + fileSystems."/" = { + device = "/dev/disk/by-uuid/dae21f73-2c6b-4959-90cc-07fb77c2a880"; + fsType = "ext4"; + }; + fileSystems."/media" = { device = "192.168.1.71:/volume1/media"; fsType = "nfs"; }; - swapDevices = - [ { device = "/dev/disk/by-uuid/990dd47b-fa78-4636-844e-83cc638052dc"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/990dd47b-fa78-4636-844e-83cc638052dc";} + ]; # 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 diff --git a/hosts/sutakku/home.nix b/hosts/sutakku/home.nix index 88a72e0..bcd76a0 100644 --- a/hosts/sutakku/home.nix +++ b/hosts/sutakku/home.nix @@ -1,17 +1,18 @@ -{config, pkgs, ...}: - { + config, + pkgs, + ... +}: { + imports = [ + ../../home + ]; -imports = [ - ../../home -]; - - systemd.user.startServices = "sd-switch"; - programs.home-manager.enable = true; + systemd.user.startServices = "sd-switch"; + programs.home-manager.enable = true; home = { username = "oh"; homeDirectory = "/home/oh"; stateVersion = "23.05"; }; -} \ No newline at end of file +} diff --git a/hosts/tsuki/default.nix b/hosts/tsuki/default.nix index d605fa6..064035c 100755 --- a/hosts/tsuki/default.nix +++ b/hosts/tsuki/default.nix @@ -1,17 +1,16 @@ -{ +{ config, pkgs, ... }: { - imports = - [ + imports = [ ./hardware-configuration.nix ../../home/wayland ../../modules ../../modules/fonts.nix - ]; + ]; - # bootloader + # bootloader boot.loader = { systemd-boot = { enable = true; @@ -24,8 +23,8 @@ }; boot.kernelPackages = pkgs.linuxPackages_latest; - boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ]; - boot.kernelModules = [ "v4l2loopback" "kvm-intel" ]; + boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out]; + boot.kernelModules = ["v4l2loopback" "kvm-intel"]; virtualisation.libvirtd.enable = true; @@ -35,12 +34,12 @@ services = { xserver = { - enable = true; - videoDrivers = [ "nvidia" ]; - layout = "us"; - xkbVariant = ""; + enable = true; + videoDrivers = ["nvidia"]; + layout = "us"; + xkbVariant = ""; + }; }; - }; programs.gnupg.agent = { enable = true; @@ -64,65 +63,65 @@ programs.steam = { enable = true; }; - + security.polkit.enable = true; security.pam.services.swaylock = { text = '' auth include login - ''; + ''; }; - - hardware = { + + hardware = { nvidia = { powerManagement.enable = true; modesetting.enable = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; opengl = { - enable = true; - extraPackages = with pkgs; [ - nvidia-vaapi-driver - ]; - }; - opentabletdriver = { - enable = true; - daemon.enable = true; + enable = true; + extraPackages = with pkgs; [ + nvidia-vaapi-driver + ]; + }; + opentabletdriver = { + enable = true; + daemon.enable = true; + }; }; - }; users = { - defaultUserShell = pkgs.nushell; - users.notoh = { - isNormalUser = true; - description = "notoh"; - extraGroups = [ "networkmanager" "wheel" "disk" "video" ]; + defaultUserShell = pkgs.nushell; + users.notoh = { + isNormalUser = true; + description = "notoh"; + extraGroups = ["networkmanager" "wheel" "disk" "video"]; + }; }; -}; environment.systemPackages = with pkgs; [ - wget - dconf - rustc - rustup - rustfmt - go - cargo - nodejs - polkit_gnome - libvirt - qemu_kvm - gtk-engine-murrine - pinentry-gtk2 - nfs-utils - nil - rust-analyzer - gopls - sumneko-lua-language-server - marksman - texlab - jre8 - jdk17 - jdk8 - nodePackages_latest.yaml-language-server - python310Packages.python-lsp-server - ]; + wget + dconf + rustc + rustup + rustfmt + go + cargo + nodejs + polkit_gnome + libvirt + qemu_kvm + gtk-engine-murrine + pinentry-gtk2 + nfs-utils + nil + rust-analyzer + gopls + sumneko-lua-language-server + marksman + texlab + jre8 + jdk17 + jdk8 + nodePackages_latest.yaml-language-server + python310Packages.python-lsp-server + ]; } diff --git a/hosts/tsuki/hardware-configuration.nix b/hosts/tsuki/hardware-configuration.nix index 7bcfcff..ee85ad5 100755 --- a/hosts/tsuki/hardware-configuration.nix +++ b/hosts/tsuki/hardware-configuration.nix @@ -1,45 +1,49 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/7d098aab-1968-4605-a9a7-b1627941c1ff"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/7d098aab-1968-4605-a9a7-b1627941c1ff"; + fsType = "ext4"; + }; - fileSystems."/boot/efi" = - { device = "/dev/disk/by-uuid/C356-B67C"; - fsType = "vfat"; - }; + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/C356-B67C"; + fsType = "vfat"; + }; - fileSystems."/hdd" = - { device = "/dev/disk/by-uuid/e2e4c4f3-51df-4020-b557-a7cf684de85b"; - fsType = "ext4"; - }; + fileSystems."/hdd" = { + device = "/dev/disk/by-uuid/e2e4c4f3-51df-4020-b557-a7cf684de85b"; + fsType = "ext4"; + }; - fileSystems."/ssd" = - { device = "/dev/disk/by-uuid/9e5a189d-7435-45d7-aef6-cdee4de2428d"; - fsType = "ext4"; - }; - fileSystems."/nas" = - { device = "192.168.1.71:/volume1/tsuki"; - fsType = "nfs"; - }; + fileSystems."/ssd" = { + device = "/dev/disk/by-uuid/9e5a189d-7435-45d7-aef6-cdee4de2428d"; + fsType = "ext4"; + }; + fileSystems."/nas" = { + device = "192.168.1.71:/volume1/tsuki"; + fsType = "nfs"; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/2f5e2c64-99b8-4fa0-943c-c9dd45c84fdc"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/2f5e2c64-99b8-4fa0-943c-c9dd45c84fdc";} + ]; # 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 diff --git a/hosts/tsuki/home.nix b/hosts/tsuki/home.nix index a435c1e..eb59748 100755 --- a/hosts/tsuki/home.nix +++ b/hosts/tsuki/home.nix @@ -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 = [ - ../../home - ../../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; + systemd.user.startServices = "sd-switch"; + programs.home-manager.enable = true; home = { username = "notoh"; @@ -59,7 +55,7 @@ imports = [ cava hollywood ]; - + stateVersion = "23.05"; }; -} \ No newline at end of file +} diff --git a/modules/default.nix b/modules/default.nix index 8b84a9a..16f687d 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { imports = [ ./security.nix ./networking.nix diff --git a/modules/fonts.nix b/modules/fonts.nix index 6276443..5a9e09e 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -1,8 +1,4 @@ -{ - pkgs, - ... -}: { - +{pkgs, ...}: { fonts = { enableDefaultFonts = false; fontDir.enable = true; @@ -22,14 +18,13 @@ enable = true; allowBitmaps = true; defaultFonts = { - monospace = [ "JetBrainsMono Nerd Font" "Twitter Color Emoji" ]; - serif = [ "Noto Serif" "Twitter Color Emoji" ]; - sansSerif = [ "Noto Sans" "Twitter Color Emoji" ]; - emoji = [ "Twitter Color Emoji" ]; + monospace = ["JetBrainsMono Nerd Font" "Twitter Color Emoji"]; + serif = ["Noto Serif" "Twitter Color Emoji"]; + sansSerif = ["Noto Sans" "Twitter Color Emoji"]; + emoji = ["Twitter Color Emoji"]; }; - + hinting.style = "hintfull"; - }; }; } diff --git a/modules/greetd.nix b/modules/greetd.nix index 8bf8192..d4e04ef 100644 --- a/modules/greetd.nix +++ b/modules/greetd.nix @@ -1,6 +1,4 @@ -{ - ... -}: { +{...}: { services.greetd = { enable = true; settings = rec { @@ -12,5 +10,3 @@ }; }; } - - diff --git a/modules/networking.nix b/modules/networking.nix index 7af39a4..4a108da 100644 --- a/modules/networking.nix +++ b/modules/networking.nix @@ -1,18 +1,16 @@ -{ - ... -}: { +{...}: { networking = { networkmanager.enable = true; - nameservers = [ "1.1.1.1" ]; + nameservers = ["1.1.1.1"]; firewall = { enable = true; }; }; - environment.etc = { + environment.etc = { "resolv.conf".text = "nameserver 1.1.1.1\n"; }; services.tailscale = { enable = true; }; -} \ No newline at end of file +} diff --git a/modules/nix.nix b/modules/nix.nix index 46ad47a..d1cb1c3 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -1,42 +1,38 @@ -{ - pkgs, - ... -}: { - - nixpkgs = { +{pkgs, ...}: { + nixpkgs = { config = { allowUnfree = true; permittedInsecurePackages = [ - "qtwebkit-5.212.0-alpha4" - "electron-12.2.3" + "qtwebkit-5.212.0-alpha4" + "electron-12.2.3" ]; }; }; - nix = { - package = pkgs.nixFlakes; - extraOptions = '' + nix = { + package = pkgs.nixFlakes; + extraOptions = '' experimental-features = nix-command flakes warn-dirty = false - ''; + ''; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; - settings = { + settings = { auto-optimise-store = true; builders-use-substitutes = true; keep-derivations = true; keep-outputs = true; substituters = [ - "https://hyprland.cachix.org" - "https://cache.nixos.org" + "https://hyprland.cachix.org" + "https://cache.nixos.org" ]; trusted-public-keys = [ - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; - }; - }; -} \ No newline at end of file + }; + }; +} diff --git a/modules/security.nix b/modules/security.nix index accda7c..64ef83b 100644 --- a/modules/security.nix +++ b/modules/security.nix @@ -48,4 +48,3 @@ defaults.email = "github@notohh.dev"; }; } - diff --git a/modules/swayidle.nix b/modules/swayidle.nix index 7307937..4385f15 100644 --- a/modules/swayidle.nix +++ b/modules/swayidle.nix @@ -1,14 +1,12 @@ -{ - ... -}: { +{...}: { home.file.".local/bin/lock" = { executable = true; text = '' - swayidle -w \ - 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' \ - resume 'hyprctl dispatch dpms on' \ - before-sleep 'swaylock -f --image ~/Picture/wallpapers/anny.jpg --clock --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b' + swayidle -w \ + 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' \ + resume 'hyprctl dispatch dpms on' \ + before-sleep 'swaylock -f --image ~/Picture/wallpapers/anny.jpg --clock --ring-color f5c2e7 --inside-color 1e1e2e --line-color 11111b' ''; }; } diff --git a/modules/system.nix b/modules/system.nix index 166e42a..37ef80a 100644 --- a/modules/system.nix +++ b/modules/system.nix @@ -1,8 +1,5 @@ -{ - ... -}: { - - documentation = { +{...}: { + documentation = { enable = true; doc.enable = false; man.enable = true; @@ -14,27 +11,26 @@ enable = true; }; }; - + time.timeZone = "America/New_York"; i18n = { defaultLocale = "en_US.UTF-8"; extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - }; - + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + }; + systemd.services.systemd-udevd.restartIfChanged = false; system.autoUpgrade.enable = false; system.stateVersion = "23.05"; # no touchy - -} \ No newline at end of file +} diff --git a/pkgs/chatterino7/default.nix b/pkgs/chatterino7/default.nix index 1d9c336..51858bf 100644 --- a/pkgs/chatterino7/default.nix +++ b/pkgs/chatterino7/default.nix @@ -13,20 +13,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-qgSJPP4yhIKNhLNjS8mSupw98YyCqevKqLTGnONFAKk="; fetchSubmodules = true; }; - 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 ]; - configurationPhase = '' - mkdir build && cd build - cmake .. + 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]; + configurationPhase = '' + mkdir build && cd build + cmake .. ''; - buildPhase = '' - make + buildPhase = '' + make ''; - installPhase = '' - 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 - ''; -} \ No newline at end of file + installPhase = + '' + 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 + ''; +}