From a9d8bcb50045cae9c430bb525e7c02e8a087d28b Mon Sep 17 00:00:00 2001 From: js0ny Date: Sun, 19 Oct 2025 18:12:07 +0100 Subject: [PATCH] nix: Add sdcv --- home/dot_config/hypr/hyprland.conf | 21 +-- nixcfgs/flake.lock | 105 ++++++++++++- nixcfgs/flake.nix | 141 +++++++++--------- nixcfgs/hosts/zephyrus/default.nix | 3 +- nixcfgs/modules/nixos/additional-packages.nix | 2 + nixcfgs/modules/nixos/chromium.nix | 2 +- nixcfgs/modules/nixos/desktop/cosmic.nix | 4 + nixcfgs/modules/nixos/desktop/hyprland.nix | 17 ++- nixcfgs/modules/nixos/packages.nix | 1 + nixcfgs/modules/nixos/winboat.nix | 5 + nixcfgs/users/js0ny/packages/gui.nix | 9 +- nixcfgs/users/js0ny/programs/firefox.nix | 31 ++-- nixcfgs/users/js0ny/programs/plasma.nix | 4 +- nixcfgs/users/js0ny/programs/sdcv.nix | 9 ++ nixcfgs/users/js0ny/programs/shell.nix | 10 +- nixcfgs/users/js0ny/zephyrus.nix | 15 +- 16 files changed, 267 insertions(+), 112 deletions(-) create mode 100644 nixcfgs/modules/nixos/desktop/cosmic.nix create mode 100644 nixcfgs/modules/nixos/winboat.nix create mode 100644 nixcfgs/users/js0ny/programs/sdcv.nix diff --git a/home/dot_config/hypr/hyprland.conf b/home/dot_config/hypr/hyprland.conf index 042e824..b7f2b11 100644 --- a/home/dot_config/hypr/hyprland.conf +++ b/home/dot_config/hypr/hyprland.conf @@ -49,6 +49,7 @@ xwayland { # Format: # MONITOR_NAME,RESOLUTION@REFRESH_RATE,OFFSET_XxOFFSET_Y,SCALE monitor=DP-2,3840x2160@60,0x0,1.667 +monitor=eDP-1,disable ################### @@ -72,7 +73,7 @@ monitor=DP-2,3840x2160@60,0x0,1.667 # Top Bar exec-once = waybar & # Notifications -exec-once = dunst & +# exec-once = dunst & # exec-once = hyprpanel & # wallpapers exec-once = swww-daemon & @@ -86,8 +87,6 @@ exec-once = wl-paste --watch cliphist store # exec-once = QT_SCALE_FACTOR=1 albert & # Bluetooth Manager exec-once = blueman-applet & -# Time Tracker -exec-once = aw-qt & @@ -137,7 +136,7 @@ general { # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - rounding = 0 + rounding = 20 # Change transparency of focused and unfocused windows # active_opacity = 1 @@ -235,12 +234,12 @@ input { } } +# gesture = 4, horizontal, workspace # https://wiki.hyprland.org/Configuring/Variables/#gestures -# gestures { -# workspace_swipe = true -# workspace_swipe_fingers = 4 -# } -gesture = 4, horizontal, workspace +gestures { + workspace_swipe = true + workspace_swipe_fingers = 4 +} # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more @@ -248,6 +247,10 @@ gesture = 4, horizontal, workspace # name = epic-mouse-v1 # sensitivity = -0.5 # } +# gesture = 3, horizontal, workspace +# gesture = 3, down, mod: ALT, close +# gesture = 3, up, mod: SUPER, scale: 1.5, fullscreen +# gesture = 3, left, scale: 1.5, float windowrulev2 = opaque, workspace:2 diff --git a/nixcfgs/flake.lock b/nixcfgs/flake.lock index 7ec669c..406fc48 100644 --- a/nixcfgs/flake.lock +++ b/nixcfgs/flake.lock @@ -1,5 +1,51 @@ { "nodes": { + "caelestia-cli": { + "inputs": { + "caelestia-shell": [ + "caelestia-shell" + ], + "nixpkgs": [ + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760147156, + "narHash": "sha256-ad+1gnp7Lm7jVSzqvGjMiwnA0P61dFZmp6HcRMXicWY=", + "owner": "caelestia-dots", + "repo": "cli", + "rev": "e9668d58f51e935094e50090b99301df8344f590", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "cli", + "type": "github" + } + }, + "caelestia-shell": { + "inputs": { + "caelestia-cli": "caelestia-cli", + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell" + }, + "locked": { + "lastModified": 1760497394, + "narHash": "sha256-/4Hf/irgPh+gRQAcCNjXyXFcUGOrXMX8+OtOwbscbXk=", + "owner": "caelestia-dots", + "repo": "shell", + "rev": "4cb1048fdd6fa281baa0efa36c8c82ddd2cc43a3", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "shell", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -127,6 +173,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1758690382, + "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": "flake-parts", @@ -169,15 +231,38 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760228179, + "narHash": "sha256-4Z6k7lv3Zcgk3K+4h60LpqB9wCkR+utkYERU735U068=", + "ref": "refs/heads/master", + "rev": "c9d3ffb6043c5bf3f3009202bad7e0e5132c4a25", + "revCount": 693, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, "root": { "inputs": { + "caelestia-shell": "caelestia-shell", "flake-utils": "flake-utils", "home-manager": "home-manager", "nix-darwin": "nix-darwin", "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs", "nur": "nur", - "plasma-manager": "plasma-manager" + "plasma-manager": "plasma-manager", + "winboat": "winboat" } }, "systems": { @@ -194,6 +279,24 @@ "repo": "default", "type": "github" } + }, + "winboat": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1760625716, + "narHash": "sha256-Lf8kR10j/VDlNBfLJENA7jDUPOYfAd0ZUqPwyMncO2M=", + "owner": "TibixDev", + "repo": "winboat", + "rev": "dab50fb60487f7d47d82c6857c7be9582314c481", + "type": "github" + }, + "original": { + "owner": "TibixDev", + "repo": "winboat", + "type": "github" + } } }, "root": "root", diff --git a/nixcfgs/flake.nix b/nixcfgs/flake.nix index 818a002..a4bffdf 100644 --- a/nixcfgs/flake.nix +++ b/nixcfgs/flake.nix @@ -20,81 +20,86 @@ inputs.home-manager.follows = "home-manager"; }; nur.url = "github:nix-community/NUR"; + winboat.url = "github:TibixDev/winboat"; + caelestia-shell = { + url = "github:caelestia-dots/shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = - { - self, - nixpkgs, - nix-flatpak, - nix-darwin, - home-manager, - plasma-manager, - nur, - ... - }@inputs: - let - overlays = [ nur.overlays.default ]; - forSystem = - system: - import nixpkgs { - inherit system overlays; - config.allowUnfree = true; - }; - specialArgs = { inherit inputs; }; - nixosHosts = [ - "zp" - "zephyrus" - "nixvirt" - ]; + outputs = { + self, + nixpkgs, + nix-flatpak, + nix-darwin, + home-manager, + plasma-manager, + nur, + winboat, + caelestia-shell, + ... + } @ inputs: let + overlays = [ + nur.overlays.default + (final: prev: { + winboat = winboat.packages.x86_64-linux.winboat; + }) + ]; + forSystem = system: + import nixpkgs { + inherit system overlays; + config.allowUnfree = true; + }; + specialArgs = {inherit inputs;}; + nixosHosts = [ + "zp" + "zephyrus" + "nixvirt" + ]; - mkNixosSystem = - hostname: - nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - inherit specialArgs; - modules = [ ./hosts/${hostname} ]; - }; - - in - { - - # This will automatically generate nixOS config for `nixosHosts' - # Include the module ./hosts/${hostname} by default. - nixosConfigurations = nixpkgs.lib.genAttrs nixosHosts mkNixosSystem; - - darwinConfigurations."zen" = nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; + mkNixosSystem = hostname: + nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; inherit specialArgs; + modules = [./hosts/${hostname}]; + }; + in { + # This will automatically generate nixOS config for `nixosHosts' + # Include the module ./hosts/${hostname} by default. + nixosConfigurations = nixpkgs.lib.genAttrs nixosHosts mkNixosSystem; + + darwinConfigurations."zen" = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + inherit specialArgs; + modules = [ + ./hosts/zen + ]; + }; + + homeConfigurations = { + js0ny = home-manager.lib.homeManagerConfiguration { + pkgs = forSystem "x86_64-linux"; + extraSpecialArgs = specialArgs; modules = [ - ./hosts/zen + ./users/js0ny ]; }; - - homeConfigurations = { - js0ny = home-manager.lib.homeManagerConfiguration { - pkgs = forSystem "x86_64-linux"; - extraSpecialArgs = specialArgs; - modules = [ - ./users/js0ny - ]; - }; - "js0ny@zephyrus" = home-manager.lib.homeManagerConfiguration { - pkgs = forSystem "x86_64-linux"; - extraSpecialArgs = specialArgs; - modules = [ - ./users/js0ny/zephyrus.nix - plasma-manager.homeModules.plasma-manager - nix-flatpak.homeManagerModules.nix-flatpak - ]; - }; - "js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration { - pkgs = forSystem "x86_64-linux"; - extraSpecialArgs = specialArgs; - modules = [ - ./users/js0ny/nixvirt.nix - ]; - }; + "js0ny@zephyrus" = home-manager.lib.homeManagerConfiguration { + pkgs = forSystem "x86_64-linux"; + extraSpecialArgs = specialArgs; + modules = [ + ./users/js0ny/zephyrus.nix + plasma-manager.homeModules.plasma-manager + nix-flatpak.homeManagerModules.nix-flatpak + ]; + }; + "js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration { + pkgs = forSystem "x86_64-linux"; + extraSpecialArgs = specialArgs; + modules = [ + ./users/js0ny/nixvirt.nix + ]; }; }; + }; } diff --git a/nixcfgs/hosts/zephyrus/default.nix b/nixcfgs/hosts/zephyrus/default.nix index 4afa9be..98b750b 100644 --- a/nixcfgs/hosts/zephyrus/default.nix +++ b/nixcfgs/hosts/zephyrus/default.nix @@ -14,9 +14,8 @@ ../../modules/nixos/chromium.nix ../../modules/nixos/obs-studio.nix ../../modules/nixos/wine.nix - ../../modules/nixos/desktop/gnome.nix - ../../modules/nixos/desktop/niri.nix ../../modules/nixos/desktop/kde.nix + ../../modules/nixos/desktop/hyprland.nix ../../modules/nixos/display-manager/sddm.nix ./hardware-configuration.nix ./keyd.nix diff --git a/nixcfgs/modules/nixos/additional-packages.nix b/nixcfgs/modules/nixos/additional-packages.nix index 858fa87..53bbb3e 100644 --- a/nixcfgs/modules/nixos/additional-packages.nix +++ b/nixcfgs/modules/nixos/additional-packages.nix @@ -3,5 +3,7 @@ chromium nil nixd + libnotify + imagemagick ]; } diff --git a/nixcfgs/modules/nixos/chromium.nix b/nixcfgs/modules/nixos/chromium.nix index b7c1b95..d5f3b82 100644 --- a/nixcfgs/modules/nixos/chromium.nix +++ b/nixcfgs/modules/nixos/chromium.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{...}: { programs.chromium = { enable = true; homepageLocation = "https://duckduckgo.com"; diff --git a/nixcfgs/modules/nixos/desktop/cosmic.nix b/nixcfgs/modules/nixos/desktop/cosmic.nix new file mode 100644 index 0000000..ca3d945 --- /dev/null +++ b/nixcfgs/modules/nixos/desktop/cosmic.nix @@ -0,0 +1,4 @@ +{...}: { + services.displayManager.cosmic-greeter.enable = true; + services.desktopManager.cosmic.enable = true; +} diff --git a/nixcfgs/modules/nixos/desktop/hyprland.nix b/nixcfgs/modules/nixos/desktop/hyprland.nix index be74ef2..85c0f9e 100644 --- a/nixcfgs/modules/nixos/desktop/hyprland.nix +++ b/nixcfgs/modules/nixos/desktop/hyprland.nix @@ -1,7 +1,22 @@ -{...}: { +{ + pkgs, + inputs, + ... +}: { programs.hyprland = { enable = true; withUWSM = false; xwayland.enable = true; }; + + environment.systemPackages = [ + inputs.caelestia-shell.packages.x86_64-linux.default + pkgs.mako + pkgs.rofi-wayland + pkgs.xdg-desktop-portal-wlr + pkgs.xdg-desktop-portal-hyprland + pkgs.hyprpolkitagent + pkgs.cliphist + pkgs.grimblast + ]; } diff --git a/nixcfgs/modules/nixos/packages.nix b/nixcfgs/modules/nixos/packages.nix index 846ce48..43605f0 100644 --- a/nixcfgs/modules/nixos/packages.nix +++ b/nixcfgs/modules/nixos/packages.nix @@ -12,5 +12,6 @@ file unzip zip + pkg-config ]; } diff --git a/nixcfgs/modules/nixos/winboat.nix b/nixcfgs/modules/nixos/winboat.nix new file mode 100644 index 0000000..d82779f --- /dev/null +++ b/nixcfgs/modules/nixos/winboat.nix @@ -0,0 +1,5 @@ +{inputs, ...}: { + environment.systemPackages = [ + inputs.winboat + ]; +} diff --git a/nixcfgs/users/js0ny/packages/gui.nix b/nixcfgs/users/js0ny/packages/gui.nix index 5ae8b87..cd419f7 100644 --- a/nixcfgs/users/js0ny/packages/gui.nix +++ b/nixcfgs/users/js0ny/packages/gui.nix @@ -1,5 +1,6 @@ {pkgs, ...}: { - home.packages = with pkgs; [ + home.packages = with pkgs; + [ kitty ghostty alacritty @@ -11,8 +12,10 @@ pcloud telegram-desktop steam - jetbrains.idea-ultimate - jetbrains.rider + (jetbrains.idea-ultimate.override { + vmopts = ''-Dawt.toolkit.name=WLToolkit'';}) + (jetbrains.rider.override { + vmopts = ''-Dawt.toolkit.name=WLToolkit'';}) warp-terminal # clash-verge-rev haruna diff --git a/nixcfgs/users/js0ny/programs/firefox.nix b/nixcfgs/users/js0ny/programs/firefox.nix index 91080ca..25e0b4a 100644 --- a/nixcfgs/users/js0ny/programs/firefox.nix +++ b/nixcfgs/users/js0ny/programs/firefox.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.firefox = { enable = true; profiles.default = { @@ -11,7 +12,7 @@ } ]; icon = "https://archlinux.org/favicon.ico"; - definedAliases = ["@aw"]; + definedAliases = [ "@aw" ]; }; aur = { name = "Arch User Repository"; @@ -21,43 +22,43 @@ } ]; icon = "https://archlinux.org/favicon.ico"; - definedAliases = ["@aur"]; + definedAliases = [ "@aur" ]; }; arch-packages = { name = "ArchLinux Packages"; - urls = [{template = "https://archlinux.org/?q={searchTerms}";}]; + urls = [ { template = "https://archlinux.org/?q={searchTerms}"; } ]; icon = "https://archlinux.org/favicon.ico"; - definedAliases = ["@pac"]; + definedAliases = [ "@pac" ]; }; chatgpt = { name = "ChatGPT"; - urls = [{template = "https://chatgpt.com/?q={searchTerms}";}]; + urls = [ { template = "https://chatgpt.com/?q={searchTerms}"; } ]; icon = "https://chatgpt.com/favicon.ico"; - definedAliases = ["@gpt"]; + definedAliases = [ "@gpt" ]; }; scoop = { name = "scoop"; - urls = [{template = "https://scoop.sh/#/apps?q={searchTerms}";}]; + urls = [ { template = "https://scoop.sh/#/apps?q={searchTerms}"; } ]; icon = "https://scoop.sh/favicon.ico"; - definedAliases = ["@sc"]; + definedAliases = [ "@sc" ]; }; perplexity = { name = "Perplexity"; - urls = [{template = "https://www.perplexity.ai/?q={searchTerms}";}]; + urls = [ { template = "https://www.perplexity.ai/?q={searchTerms}"; } ]; icon = "https://perplexity.ai/favicon.ico"; - definedAliases = ["@pplx"]; + definedAliases = [ "@pplx" ]; }; winget = { name = "Windows Package Manager"; - urls = [{template = "https://winget.ragerworks.com/search/all/{searchTerms}";}]; + urls = [ { template = "https://winget.ragerworks.com/search/all/{searchTerms}"; } ]; icon = "https://microsoft.com/favicon.ico"; - definedAliases = ["@win"]; + definedAliases = [ "@win" ]; }; github = { name = "GitHub Repository"; - urls = [{template = "https://github.com/search?type=repositories&q={searchTerms}";}]; + urls = [ { template = "https://github.com/search?type=repositories&q={searchTerms}"; } ]; icon = "https://github.com/favicon.ico"; - definedAliases = ["@gh"]; + definedAliases = [ "@gh" ]; }; }; extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ diff --git a/nixcfgs/users/js0ny/programs/plasma.nix b/nixcfgs/users/js0ny/programs/plasma.nix index 24267be..134e719 100644 --- a/nixcfgs/users/js0ny/programs/plasma.nix +++ b/nixcfgs/users/js0ny/programs/plasma.nix @@ -72,7 +72,7 @@ config = { General = { launchers = [ - "applications:org.kde.dolphin.desktop" + # "applications:org.kde.dolphin.desktop" "applications:firefox.desktop" "applications:com.mitchellh.ghostty.desktop" ]; @@ -131,7 +131,7 @@ profiles = { Default = { command = "${pkgs.fish}/bin/fish"; - colorScheme = "Breeze"; + colorScheme = "catppuccin-mocha"; font = { name = "Maple Mono NF"; size = 12; diff --git a/nixcfgs/users/js0ny/programs/sdcv.nix b/nixcfgs/users/js0ny/programs/sdcv.nix new file mode 100644 index 0000000..90cf73b --- /dev/null +++ b/nixcfgs/users/js0ny/programs/sdcv.nix @@ -0,0 +1,9 @@ +{ pkgs }: +{ + home.packages = with pkgs; [ + sdcv + ]; + home.sessionVariables = { + STARDICT_DATA_DIR = "$HOME/.local/share/stardict/dic"; + }; +} diff --git a/nixcfgs/users/js0ny/programs/shell.nix b/nixcfgs/users/js0ny/programs/shell.nix index ca672c5..ad5a33f 100644 --- a/nixcfgs/users/js0ny/programs/shell.nix +++ b/nixcfgs/users/js0ny/programs/shell.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -let +{...}: let commonAliases = { v = "nvim"; g = "lazygit"; @@ -8,9 +7,10 @@ let ii = "open"; c = "code"; aic = "aichat -s"; + aicc = "aichat -c"; + nrs = "sudo nixos-rebuild switch --flake ~/.dotfiles/nixcfgs"; }; -in -{ +in { programs.fish = { enable = true; interactiveShellInit = "set fish_greeting"; @@ -29,5 +29,5 @@ in enable = true; shellAliases = commonAliases; }; - programs.zed-editor.extensions = [ "fish" ]; + programs.zed-editor.extensions = ["fish"]; } diff --git a/nixcfgs/users/js0ny/zephyrus.nix b/nixcfgs/users/js0ny/zephyrus.nix index 144e17c..fa92e45 100644 --- a/nixcfgs/users/js0ny/zephyrus.nix +++ b/nixcfgs/users/js0ny/zephyrus.nix @@ -4,20 +4,22 @@ nix-flatpak, plasma-manager, ... -}: let +}: +let my-catppuccin-kde = pkgs.catppuccin-kde.override { flavour = [ "mocha" "latte" ]; - accents = ["pink"]; - winDecStyles = ["classic"]; + accents = [ "pink" ]; + winDecStyles = [ "classic" ]; }; my-catppuccin-gtk = pkgs.catppuccin-gtk.override { - accents = ["pink"]; + accents = [ "pink" ]; variant = "mocha"; }; -in { +in +{ imports = [ ./default.nix ./packages/cli.nix @@ -33,6 +35,7 @@ in { ./programs/firefox.nix ./programs/distrobox.nix ./programs/mime.nix + ./programs/sdcv.nix ./programs/zed-editor.nix # ./programs/floorp.nix ../../modules/home/gnome-keyrings.nix @@ -55,6 +58,8 @@ in { my-catppuccin-gtk my-catppuccin-kde catppuccin-fcitx5 + freerdp + winboat ]; home.stateVersion = "25.05";