diff --git a/flake.nix b/flake.nix index 57d8324..5d57411 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,7 @@ editor = "neovim"; # neovim, vscode # List all themes: $ nix build nixpkgs#base16-schemes && ls result/share/themes - theme = "evangelion-blood"; # catppuccin-mocha, tokyo-night-dark, one-dark + theme = "catppuccin-mocha"; # catppuccin-mocha, tokyo-night-dark, one-dark background = if userSettings.theme == "catppuccin-mocha" then "aurora_borealis.png" @@ -151,9 +151,18 @@ nixcord = { url = "github:kaylorben/nixcord"; + inputs.nixpkgs.follows = "nixpkgs"; }; - shinya-nvf.url = "git+https://git.foglar.tech/foglar/neovim-config"; + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + shinya-nvf = { + url = "git+https://git.foglar.tech/foglar/neovim-config"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Nix Flake Install Script install-script = { diff --git a/kogami/configuration.nix b/kogami/configuration.nix index 4590380..cd6d9ef 100644 --- a/kogami/configuration.nix +++ b/kogami/configuration.nix @@ -88,6 +88,7 @@ environment.systemPackages = [ inputs.install-script.packages.${system}.default inputs.shinya-nvf.packages.${system}.nvf + inputs.zen-browser.packages.${system}.default ]; #services.twingate.enable = true; diff --git a/nixos/home/apps/programming.nix b/nixos/home/apps/programming.nix index 74620bd..8c9dd12 100644 --- a/nixos/home/apps/programming.nix +++ b/nixos/home/apps/programming.nix @@ -23,6 +23,7 @@ lazygit ghostty cargo + ciscoPacketTracer8 ] ); diff --git a/nixos/home/desktop/hyprland/hyprland.nix b/nixos/home/desktop/hyprland/hyprland.nix index f5e3efc..9d812b1 100644 --- a/nixos/home/desktop/hyprland/hyprland.nix +++ b/nixos/home/desktop/hyprland/hyprland.nix @@ -342,6 +342,7 @@ "opacity 0.80 0.80,class:^(code-oss)$" "opacity 0.90 0.90,class:^(code)$" "opacity 0.90 0.90,initialTitle:^(Open Folder)$" + "opacity 0.90 0.90,initialTitle:^(Open Files)$" "opacity 0.80 0.80,class:^(code-url-handler)$" "opacity 0.80 0.80,class:^(code-insiders-url-handler)$" "opacity 0.80 0.80,class:^(kitty)$" @@ -383,8 +384,10 @@ "opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$" "opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$" "opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$" + "float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$" "float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$" + "float, initialTitle:^(Open Files)$" "float,title:^(About Mozilla Firefox)$" "float,class:^(firefox)$,title:^(Picture-in-Picture)$" "float,class:^(firefox)$,title:^(Library)$" @@ -452,6 +455,7 @@ "opacity 0.80 0.70,class:^(chat-simplex-desktop-MainKt)$" "float,class:^(Bitwarden)$" + "float, initialClass:^(PacketTracer)" ]; layerrule = [ diff --git a/nixos/home/packages/programming/code.nix b/nixos/home/packages/programming/code.nix index f181262..f376097 100644 --- a/nixos/home/packages/programming/code.nix +++ b/nixos/home/packages/programming/code.nix @@ -45,86 +45,91 @@ programs.vscode = { enable = true; - profiles.default.userSettings = { - "files.autoSave" = "afterDelay"; - "explorer.confirmDragAndDrop" = false; - #"editor.fontSize" = 16; - "editor.minimap.side" = "right"; - "editor.scrollbar.vertical" = "hidden"; - "editor.scrollbar.verticalScrollbarSize" = 0; - "editor.fontLigatures" = "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'"; - "editor.stickyScroll.enabled" = false; - "security.workspace.trust.untrustedFiles" = "newWindow"; - "security.workspace.trust.startupPrompt" = "never"; - "security.workspace.trust.enabled" = false; - "terminal.external.linuxExec" = "${pkgs.kitty}/bin/kitty"; - "terminal.integrated.stickyScroll.enabled" = true; - "terminal.integrated.inheritEnv" = false; - "telemetry.telemetryLevel" = "off"; - "workbench.activityBar.location" = "hidden"; # bottom - "workbench.iconTheme" = "material-icon-theme"; - "workbench.productIconTheme" = "material-product-icons"; - "window.menuBarVisibility" = "toggle"; + profiles.default = { + userSettings = { + "files.autoSave" = "afterDelay"; + "explorer.confirmDragAndDrop" = false; + #"editor.fontSize" = 16; + "editor.minimap.side" = "right"; + "editor.scrollbar.vertical" = "hidden"; + "editor.scrollbar.verticalScrollbarSize" = 0; + "editor.fontLigatures" = "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'"; + "editor.stickyScroll.enabled" = false; + "security.workspace.trust.untrustedFiles" = "newWindow"; + "security.workspace.trust.startupPrompt" = "never"; + "security.workspace.trust.enabled" = false; + "terminal.external.linuxExec" = "${pkgs.kitty}/bin/kitty"; + "terminal.integrated.stickyScroll.enabled" = true; + "terminal.integrated.inheritEnv" = false; + "telemetry.telemetryLevel" = "off"; + "workbench.activityBar.location" = "hidden"; # bottom + "workbench.iconTheme" = "material-icon-theme"; + "workbench.productIconTheme" = "material-product-icons"; + "window.menuBarVisibility" = "toggle"; + }; + + extensions = with pkgs-stable.vscode-extensions; [ + ms-azuretools.vscode-docker + + foxundermoon.shell-format + tamasfe.even-better-toml + aaron-bond.better-comments + christian-kohler.path-intellisense + + github.codespaces + + nefrob.vscode-just-syntax + + # Remote + ms-vscode-remote.remote-ssh + ms-vscode-remote.remote-ssh-edit + + pkief.material-product-icons + pkief.material-icon-theme + ]; }; - - profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - ms-azuretools.vscode-docker - - foxundermoon.shell-format - tamasfe.even-better-toml - aaron-bond.better-comments - christian-kohler.path-intellisense - - github.codespaces - - nefrob.vscode-just-syntax - - # Remote - ms-vscode-remote.remote-ssh - ms-vscode-remote.remote-ssh-edit - - pkief.material-product-icons - pkief.material-icon-theme - ]; }; }) (lib.mkIf config.program.vscode.ide.python.enable { - programs.vscode.profiles.default.userSettings = { - "[python]" = { - "editor.defaultFormatter" = "ms-python.black-formatter"; - "python.defaultInterpreterPath" = "${pkgs.python3}/bin/python"; + programs.vscode.profiles.default = { + userSettings = { + "[python]" = { + "editor.defaultFormatter" = "ms-python.black-formatter"; + "python.defaultInterpreterPath" = "${pkgs.python3}/bin/python"; + }; }; - }; - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - ms-python.python - ms-python.vscode-pylance - ms-python.black-formatter - ms-python.debugpy - njpwerner.autodocstring - ms-toolsai.jupyter - ms-toolsai.jupyter-keymap - ms-toolsai.jupyter-renderers - ]; + extensions = with pkgs-stable.vscode-extensions; [ + ms-python.python + ms-python.vscode-pylance + ms-python.black-formatter + ms-python.debugpy + njpwerner.autodocstring + ms-toolsai.jupyter + ms-toolsai.jupyter-keymap + ms-toolsai.jupyter-renderers + ]; + }; }) (lib.mkIf config.program.vscode.ide.go.enable { - programs.vscode.profiles.default.userSettings = { - "go.alternateTools" = { - "go-langserver" = "${pkgs.gopls}/bin/gopls"; + programs.vscode.profiles.default = { + userSettings = { + "go.alternateTools" = { + "go-langserver" = "${pkgs.gopls}/bin/gopls"; + }; + "gopls" = {"ui.diagnostic.staticcheck" = true;}; }; - "gopls" = {"ui.diagnostic.staticcheck" = true;}; - }; + extensions = with pkgs-stable.vscode-extensions; [ + golang.go + ]; + }; home.sessionVariables = { GOOS = "linux"; GOARCH = "amd64"; GOPATH = "$HOME/.local/share/go"; }; - - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - golang.go - ]; }) (lib.mkIf config.program.vscode.ide.csharp.enable { @@ -137,30 +142,32 @@ }) (lib.mkIf config.program.vscode.nix.enable { - programs.vscode.profiles.default.userSettings = { - "nix.serverPath" = "nixd"; - "nix.enableLanguageServer" = true; - "nix.serverSettings" = { - "nixd" = { - "formatting" = { - "command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt - }; - "options" = { - "nixos" = { - "expr" = "(builtins.getFlake \"~/.dotfiles/\").nixosConfigurations.${userSettings.hostname}.options"; + programs.vscode.profiles.default = { + userSettings = { + "nix.serverPath" = "nixd"; + "nix.enableLanguageServer" = true; + "nix.serverSettings" = { + "nixd" = { + "formatting" = { + "command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt }; + "options" = { + "nixos" = { + "expr" = "(builtins.getFlake \"~/.dotfiles/\").nixosConfigurations.${userSettings.hostname}.options"; + }; + }; + # "home_manager": { + # "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options" + # }, + # }, }; - # "home_manager": { - # "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options" - # }, - # }, }; }; - }; - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - jnoortheen.nix-ide - ]; + extensions = with pkgs-stable.vscode-extensions; [ + jnoortheen.nix-ide + ]; + }; home.packages = with pkgs-stable; [ alejandra nixd @@ -168,48 +175,58 @@ }) (lib.mkIf config.program.vscode.ide.web.enable { - programs.vscode.profiles.default.userSettings = { - "[json]" = { - "editor.defaultFormatter" = "esbenp.prettier-vscode"; + programs.vscode.profiles.default = { + userSettings = { + "[json]" = { + "editor.defaultFormatter" = "esbenp.prettier-vscode"; + }; + "[html]" = { + "editor.defaultFormatter" = "esbenp.prettier-vscode"; + }; + "[css]" = { + "editor.defaultFormatter" = "esbenp.prettier-vscode"; + }; }; - "[html]" = { - "editor.defaultFormatter" = "esbenp.prettier-vscode"; - }; - }; - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - ritwickdey.liveserver - esbenp.prettier-vscode - ecmel.vscode-html-css - ms-vscode.live-server - formulahendry.auto-rename-tag - ]; + extensions = with pkgs-stable.vscode-extensions; [ + ritwickdey.liveserver + esbenp.prettier-vscode + ecmel.vscode-html-css + ms-vscode.live-server + formulahendry.auto-rename-tag + ]; + }; }) (lib.mkIf config.program.vscode.git.enable { - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - donjayamanne.githistory - eamodio.gitlens - github.vscode-pull-request-github - github.vscode-github-actions - ]; + programs.vscode.profiles.default = { + userSettings = { + "git.autofetch" = true; + }; - programs.vscode.profiles.default.userSettings = { - "git.autofetch" = true; + extensions = with pkgs-stable.vscode-extensions; [ + donjayamanne.githistory + eamodio.gitlens + github.vscode-pull-request-github + github.vscode-github-actions + ]; }; }) (lib.mkIf config.program.vscode.markdown.enable { - programs.vscode.profiles.default.userSettings = { - "[markdown]" = { - "editor.defaultFormatter" = "yzhang.markdown-all-in-one"; + programs.vscode.profiles.default = { + userSettings = { + "[markdown]" = { + "editor.defaultFormatter" = "yzhang.markdown-all-in-one"; + }; }; - }; - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - yzhang.markdown-all-in-one - davidanson.vscode-markdownlint - ]; + extensions = with pkgs-stable.vscode-extensions; [ + yzhang.markdown-all-in-one + davidanson.vscode-markdownlint + marp-team.marp-vscode + ]; + }; }) (lib.mkIf config.program.vscode.themes.enable { @@ -223,14 +240,16 @@ }) (lib.mkIf config.program.vscode.ai.enable { - programs.vscode.profiles.default.userSettings = { - "github.copilot.editor.enableAutoCompletions" = true; - }; + programs.vscode.profiles.default = { + userSettings = { + "github.copilot.editor.enableAutoCompletions" = true; + }; - programs.vscode.profiles.default.extensions = with pkgs-stable.vscode-extensions; [ - github.copilot - github.copilot-chat - ]; + extensions = with pkgs-stable.vscode-extensions; [ + github.copilot + github.copilot-chat + ]; + }; }) (lib.mkIf config.program.vscode.ide.cpp.enable { diff --git a/nixos/system/packages.nix b/nixos/system/packages.nix index 907b635..1df5be9 100644 --- a/nixos/system/packages.nix +++ b/nixos/system/packages.nix @@ -10,11 +10,13 @@ ./packages/ssh-client.nix ./packages/syncthing.nix ./packages/ollama.nix + ./packages/wakapi.nix ]; program = { docker.enable = lib.mkDefault false; podman.enable = lib.mkDefault true; + wakapi.enable = lib.mkDefault true; ollama.enable = lib.mkDefault false; steam.enable = lib.mkDefault true; proxychains.enable = lib.mkDefault true; @@ -29,8 +31,15 @@ ssh.client.enable = lib.mkDefault true; syncthing.enable = lib.mkDefault true; }; - sys.desktop.steamdeck.enable = lib.mkDefault false; - sys.security.sops.enable = lib.mkDefault true; - programs.kdeconnect.enable = lib.mkDefault true; - programs.wireshark.enable = lib.mkDefault true; + + sys = { + desktop.steamdeck.enable = lib.mkDefault false; + security.sops.enable = lib.mkDefault true; + }; + + programs = { + kdeconnect.enable = lib.mkDefault true; + wireshark.enable = lib.mkDefault true; + appimage.binfmt = lib.mkDefault true; + }; } diff --git a/nixos/system/packages/wakapi.nix b/nixos/system/packages/wakapi.nix new file mode 100644 index 0000000..65766dc --- /dev/null +++ b/nixos/system/packages/wakapi.nix @@ -0,0 +1,14 @@ +{ + lib, + config, + ... +}: { + options = { + program.wakapi.enable = lib.mkEnableOption "wakapi"; + }; + config = lib.mkIf config.program.wakapi.enable { + services.wakapi = { + enable = true; + }; + }; +}