dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit 5cce38dafa1cdccf81fe3ba243510bb5ce8168f2 parent 27f571a4e284db2c92acc70280fb68ab15190a46 Author: maydayv7 <maydayv7@gmail.com> Date: Sat, 11 Oct 2025 03:06:47 +0530 feat: Add `fabric-ca` package Also tweak Hyprland panel
Diffstat:
| M | README.md | | | 7 | ++----- |
| M | devices/valkyrie/default.nix | | | 2 | +- |
| M | devices/valkyrie/drivers.nix | | | 68 | +++++++++++++++++++++++++++++++++++++++----------------------------- |
| M | files/hyprland/theme/waybar.css | | | 48 | ++++++++++++++++++++++++++++++++++-------------- |
| M | modules/gui/desktop/_shared/panel.nix | | | 6 | ++---- |
| M | modules/gui/desktop/hyprland/apps/launcher.nix | | | 6 | +++++- |
| M | modules/gui/desktop/hyprland/apps/panel.nix | | | 7 | ++++++- |
| M | modules/gui/desktop/niri/apps/panel.nix | | | 5 | ----- |
| M | modules/gui/desktop/niri/apps/utilities.nix | | | 7 | +++++-- |
| M | modules/gui/desktop/niri/default.nix | | | 1 | - |
| M | modules/hardware/blockchain.nix | | | 12 | ++++++++++-- |
| A | packages/fabric-ca.nix | | | 36 | ++++++++++++++++++++++++++++++++++++ |
12 files changed, 140 insertions(+), 65 deletions(-)
diff --git a/README.md b/README.md @@ -171,7 +171,6 @@ github:maydayv7/dotfiles ├── files ├── site ├── devices -│ └── vm ├── users │ └── passwords ├── secrets @@ -203,7 +202,6 @@ github:maydayv7/dotfiles - [`files`](./files/README.md): `dotfiles` and program configuration - [`site`](./site/README.md): personal website generated using [`zola`](https://www.getzola.org/) - [`devices`](./devices/README.md): system configuration for various devices -- [`vm`](./devices/vm/README.md): declarative configuration to build multiple virtual machines - [`users`](./users/README.md): individual user-specific configuration - [`secrets`](./secrets/README.md): authentication credentials management using [`sops-nix`](https://github.com/Mic92/sops-nix) - `shells`: sand-boxed shells for development purposes @@ -409,7 +407,7 @@ It is not recommended to use NixOS if you are a beginner just starting out, with _May change according to available hardware_ -This configuration works well with an Intel CPU + iGPU, and is currently being improved to support AMD APU + Nvidia GPU. Any other setup is untested +This configuration works well with an Intel CPU + iGPU, and is currently being improved to support an AMD APU + Nvidia GPU. Any other setup is untested The `hardware.modules` option can be used to load relevant configuration from [`nixos-hardware`](https://github.com/nixos/nixos-hardware) See [this](./modules/hardware/README.md) for additional information @@ -494,7 +492,6 @@ _Thanks a lot! ;)_ ### Manual Intervention -- Online accounts have to be manually signed into - [Wine](./packages/wine) Applications have to be manually updated - Minecraft [Server](./modules/apps/games/mc-server.nix) has to be manually updated - Logseq Plugins have to be manually installed @@ -506,7 +503,7 @@ _Thanks a lot! ;)_ </details> -> Last Updated: **August** 2025 +> Last Updated: **October** 2025 If you like this project, consider leaving a [star](https://github.com/maydayv7/dotfiles) diff --git a/devices/valkyrie/default.nix b/devices/valkyrie/default.nix @@ -75,7 +75,7 @@ }; gui = { - desktop = "niri"; + desktop = "hyprland"; display = "eDP-1"; wallpaper = "Quasar"; fancy = true; diff --git a/devices/valkyrie/drivers.nix b/devices/valkyrie/drivers.nix @@ -7,8 +7,6 @@ let inherit (lib) hasPrefix mkIf; in { - services.fwupd.enable = true; - # ! # https://gitlab.freedesktop.org/drm/amd/-/issues/3388 boot.kernelParams = mkIf (config.hardware.cpu.mode == "performance") [ "amdgpu.dcdebugmask=0x10" ]; @@ -22,14 +20,23 @@ in usePersistenced = false; }; - # Remap Keys - services.udev.extraHwdb = '' - evdev:name:Asus Keyboard:* - KEYBOARD_KEY_7003f=print # F6 -> PrtSc Key - ''; + services = { + fwupd.enable = true; + + # Remap Keys + udev.extraHwdb = '' + evdev:name:Asus Keyboard:* + KEYBOARD_KEY_7003f=print # F6 -> PrtSc Key + ''; + }; + + # Development + networking.firewall = { + allowedUDPPorts = [ 7777 ]; + allowedTCPPorts = [ 7777 ]; + }; # ASUS Software - user.persist.directories = [ ".config/rog" ]; services.asusd = { enable = true; enableUserService = true; @@ -37,30 +44,33 @@ in auraConfigs."19b6".text = builtins.readFile ./settings/aura.ron; }; - user.homeConfig = { - wayland.windowManager.hyprland.settings.bindl = mkIf (hasPrefix "hyprland" config.gui.desktop) [ - ", XF86Launch3, exec, asusctl led-mode -n" - ", XF86Launch4, exec, asusctl profile -n" - ]; + user = { + persist.directories = [ ".config/rog" ]; + homeConfig = { + wayland.windowManager.hyprland.settings.bindl = mkIf (hasPrefix "hyprland" config.gui.desktop) [ + ", XF86Launch3, exec, asusctl led-mode -n" + ", XF86Launch4, exec, asusctl profile -n" + ]; - dconf.settings = mkIf (hasPrefix "gnome" config.gui.desktop) { - "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/" - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/" - ]; - }; + dconf.settings = mkIf (hasPrefix "gnome" config.gui.desktop) { + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/" + ]; + }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = { - binding = "Launch3"; - command = "asusctl led-mode -n"; - name = "Keyboard Mode"; - }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = { + binding = "Launch3"; + command = "asusctl led-mode -n"; + name = "Keyboard Mode"; + }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = { - binding = "Launch4"; - command = "asusctl profile -n"; - name = "Fan Control"; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = { + binding = "Launch4"; + command = "asusctl profile -n"; + name = "Fan Control"; + }; }; }; }; diff --git a/files/hyprland/theme/waybar.css b/files/hyprland/theme/waybar.css @@ -26,7 +26,7 @@ tooltip { padding-right: 5px; } #users .drawer box { - margin-left: 5px; + margin-left: 2px; } #custom-power { color: @base08; @@ -64,6 +64,10 @@ tooltip { background-color: transparent; } +#taskbar button { + padding: 3px 6px; + margin: 2px; +} #taskbar button.active { background: @base0C; } @@ -107,9 +111,6 @@ tooltip { background-color: @base06; } -#media .drawer box { - margin-right: 3px; -} #wireplumber { background-color: @base09; color: @base00; @@ -175,6 +176,7 @@ tooltip { background-color: transparent; } +/* Area */ #backlight, #battery, #bluetooth, @@ -188,16 +190,38 @@ tooltip { #custom-weather, #idle_inhibitor, #keyboard-state, -#mpris, #network, #power-profiles-daemon, -#submap, -#taskbar, -#user, #window, #wireplumber { - padding: 2px 5px; - margin: 5px 1px; + padding: 0 5px; + margin: 4px 2px; +} + +#workspaces { + margin: 3px 1px; +} +#user, +#submap { + padding: 0 5px; + margin: 5px 2px; +} + +#taskbar { + margin: 4px 2px; +} + +#mpris { + padding: 0; + margin: 0; +} +#mpris.playing { + margin-left: 2px; + margin-right: 6px; +} +#mpris.paused { + margin-left: 2px; + margin-right: 6px; } #custom-power { @@ -207,7 +231,3 @@ tooltip { #power-profiles-daemon { margin-right: 5px; } - -#workspaces { - margin: 4px 1px; -} diff --git a/modules/gui/desktop/_shared/panel.nix b/modules/gui/desktop/_shared/panel.nix @@ -47,8 +47,6 @@ in user = { format = "{user}"; icon = true; - height = 30; - width = 30; open-on-click = true; }; @@ -108,7 +106,7 @@ in tooltip = "Strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>"; in { - format = mkDefault "? {ifname}"; + format = "?"; format-disconnected = ""; format-wifi = "{icon}"; format-ethernet = ""; @@ -119,7 +117,7 @@ in "" "" ]; - format-linked = mkDefault " {ifname}"; + format-linked = ""; tooltip-format-wifi = "Network: <big><b>{essid}</b></big>\n${tooltip}"; tooltip-format-ethernet = "Network: <big><b>Wired</b></big>\n${tooltip}"; tooltip-format-disconnected = " Disconnected"; diff --git a/modules/gui/desktop/hyprland/apps/launcher.nix b/modules/gui/desktop/hyprland/apps/launcher.nix @@ -8,7 +8,11 @@ { ## Launcher Configuration user = { - persist.directories = [ ".local/share/hyprshell" ]; + persist.directories = [ + ".local/share/hyprshell" + ".cache/hyprshell" + ]; + homeConfig = { imports = [ inputs.hyprshell.homeModules.hyprshell ]; programs.hyprshell = { diff --git a/modules/gui/desktop/hyprland/apps/panel.nix b/modules/gui/desktop/hyprland/apps/panel.nix @@ -17,7 +17,7 @@ in let shared = { position = "top"; - height = 30; + height = 40; spacing = 3; margin-top = 2; margin-right = 5; @@ -33,6 +33,11 @@ in drawer.transition-left-to-right = true; }; + user = { + height = 20; + width = 20; + }; + "hyprland/workspaces" = { all-outputs = false; show-special = true; diff --git a/modules/gui/desktop/niri/apps/panel.nix b/modules/gui/desktop/niri/apps/panel.nix @@ -53,11 +53,6 @@ in capslock = "\n{icon}"; }; - network = { - format = "?"; - format-linked = ""; - }; - "group/media" = { orientation = "vertical"; drawer.transition-left-to-right = true; diff --git a/modules/gui/desktop/niri/apps/utilities.nix b/modules/gui/desktop/niri/apps/utilities.nix @@ -6,8 +6,11 @@ ... }: { - # File Picker - environment.systemPackages = [ pkgs.nautilus ]; + environment.systemPackages = with pkgs; [ + nautilus + wl-mirror + xwayland-satellite-stable + ]; user.homeConfig = { # Wallpaper diff --git a/modules/gui/desktop/niri/default.nix b/modules/gui/desktop/niri/default.nix @@ -21,7 +21,6 @@ enable = true; package = pkgs.niri-stable; }; - environment.systemPackages = [ pkgs.xwayland-satellite-stable ]; # Settings _shared.enable = true; diff --git a/modules/hardware/blockchain.nix b/modules/hardware/blockchain.nix @@ -8,11 +8,19 @@ let enable = builtins.elem "blockchain" config.hardware.support; in { - ## Blockchain Support ## config = lib.mkIf enable { virtualisation.docker.enable = true; user.groups = [ "docker" ]; - environment.systemPackages = [ pkgs.hyperledger-fabric ]; + environment = { + persist.directories = [ "/var/lib/docker" ]; + systemPackages = with pkgs; [ + custom.fabric-ca + hyperledger-fabric + + docker-compose + nodejs + ]; + }; }; } diff --git a/packages/fabric-ca.nix b/packages/fabric-ca.nix @@ -0,0 +1,36 @@ +{ + lib, + pkgs, + ... +}: +with pkgs; +buildGoModule rec { + pname = "fabric-ca"; + version = "1.5.15"; + + src = fetchFromGitHub { + owner = "hyperledger"; + repo = "fabric-ca"; + rev = "v${version}"; + hash = "sha256-kJGeA30hoRk98/io/O5lorw96bpiGpheSaHrHVqqO+s="; + }; + + vendorHash = null; + postPatch = "rm cmd/fabric-ca-server/main_test.go"; + ldflags = [ + "-s" + "-w" + ]; + + subPackages = [ + "cmd/fabric-ca-client" + "cmd/fabric-ca-server" + ]; + + meta = with lib; { + description = "Certificate Authority for Hyperledger Fabric"; + homepage = "https://wiki.hyperledger.org/display/fabric"; + license = licenses.asl20; + maintainers = [ "maydayv7" ]; + }; +}