My Nix Infra
nix nixos
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

extract hm.nix

ydcjeff 0e6c3193 ddb8b5c0

+157 -287
+5 -5
bin/ez-cmd-palette
··· 9 9 10 10 options=( 11 11 $'\uf023 Lock' 12 - $'\uf186 Sleep' 12 + $'\uf186 Suspend' 13 13 $'\uf08b Logout' 14 14 $'\uf021 Reboot' 15 15 $'\uf011 Shutdown' ··· 22 22 fi 23 23 24 24 case $(menu "${options[@]}" | tr '[:upper:]' '[:lower:]') in 25 - *shutdown*) poweroff ;; 26 - *reboot*) reboot ;; 25 + *lock*) pidof hyprlock || hyprlock ;; 26 + *suspend*) systemctl suspend ;; 27 27 *logout*) loginctl terminate-session "$XDG_SESSION_ID" ;; 28 - *lock*) hyprlock ;; 29 - *sleep*) loginctl lock-session ;; 28 + *reboot*) systemctl reboot ;; 29 + *shutdown*) systemctl poweroff ;; 30 30 *dnd*) ez-cmd-dnd ;; 31 31 esac
+1 -1
config/hypr/hyprlock.conf
··· 2 2 3 3 $accent = $blue 4 4 $accentAlpha = $blueAlpha 5 - $font = Source Han Serif 5 + $font = Noto Serif CJK JP 6 6 7 7 general { 8 8 hide_cursor = true
-67
containers/Containerfile-alpine-php
··· 1 - ARG ALPINE_VERSION 2 - FROM quay.io/toolbx-images/alpine-toolbox:${ALPINE_VERSION} 3 - 4 - # ARG gc after FROM 5 - ARG PHP_VERSION 6 - 7 - RUN apk add \ 8 - fish \ 9 - starship \ 10 - bat \ 11 - fzf \ 12 - curl \ 13 - ca-certificates \ 14 - neovim \ 15 - # php & its family 16 - composer \ 17 - icu-data-full \ 18 - imagemagick-jpeg \ 19 - imagemagick-heic \ 20 - php${PHP_VERSION} \ 21 - php${PHP_VERSION}-phar \ 22 - php${PHP_VERSION}-curl \ 23 - php${PHP_VERSION}-iconv \ 24 - php${PHP_VERSION}-mbstring \ 25 - php${PHP_VERSION}-openssl \ 26 - php${PHP_VERSION}-zip \ 27 - php${PHP_VERSION} \ 28 - php${PHP_VERSION}-dom \ 29 - php${PHP_VERSION}-fileinfo \ 30 - php${PHP_VERSION}-json \ 31 - php${PHP_VERSION}-xml \ 32 - php${PHP_VERSION}-mbstring \ 33 - php${PHP_VERSION}-openssl \ 34 - php${PHP_VERSION}-tokenizer \ 35 - php${PHP_VERSION}-xmlwriter \ 36 - php${PHP_VERSION}-curl \ 37 - php${PHP_VERSION}-simplexml \ 38 - php${PHP_VERSION}-pecl-redis \ 39 - php${PHP_VERSION}-pdo_mysql \ 40 - php${PHP_VERSION}-session \ 41 - php${PHP_VERSION}-iconv \ 42 - php${PHP_VERSION}-sodium \ 43 - php${PHP_VERSION}-pecl-imagick \ 44 - php${PHP_VERSION}-gd \ 45 - php${PHP_VERSION}-ctype \ 46 - php${PHP_VERSION}-pdo \ 47 - php${PHP_VERSION}-xmlreader \ 48 - php${PHP_VERSION}-zlib \ 49 - php${PHP_VERSION}-intl \ 50 - php${PHP_VERSION}-ldap \ 51 - php${PHP_VERSION}-pecl-grpc \ 52 - php${PHP_VERSION}-pecl-xdebug \ 53 - php${PHP_VERSION}-pecl-opentelemetry 54 - 55 - RUN sed -i 's/;zend_extension=xdebug.so/zend_extension=xdebug.so/;s/;xdebug.mode=off/xdebug.mode=coverage/' /etc/php${PHP_VERSION}/conf.d/50_xdebug.ini 56 - ADD containers/csrootca.crt /usr/local/share/ca-certificates/ 57 - RUN update-ca-certificates 58 - 59 - ARG USER 60 - ARG UID 61 - ARG GID 62 - ARG HOME_DIR 63 - ENV HOME=/home/${HOME_DIR} 64 - WORKDIR /home/${HOME_DIR} 65 - RUN groupadd -g ${GID} ${USER} && useradd -G wheel -u ${UID} -g ${GID} -M ${USER} 66 - 67 - RUN composer global require squizlabs/php_codesniffer laravel/pint
-38
containers/csrootca.crt
··· 1 - -----BEGIN CERTIFICATE----- 2 - MIIGfTCCBGWgAwIBAgIJANtNHd4pchD1MA0GCSqGSIb3DQEBDQUAMIHUMQswCQYD 3 - VQQGEwJUVzEPMA0GA1UECAwGVGFpd2FuMRYwFAYDVQQHDA1Ic2luLUNodSBDaXR5 4 - MScwJQYDVQQKDB5OYXRpb25hbCBDaGlhby1UdW5nIFVuaXZlcnNpdHkxJzAlBgNV 5 - BAsMHkRlcGFydG1lbnQgb2YgQ29tcHV0ZXIgU2NpZW5jZTEmMCQGA1UEAwwdTkNU 6 - VSBDUyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIjAgBgkqhkiG9w0BCQEWE2hlbHBA 7 - Y3MubmN0dS5lZHUudHcwHhcNMTcxMjA2MTc0MzE2WhcNMjcxMjA0MTc0MzE2WjCB 8 - 1DELMAkGA1UEBhMCVFcxDzANBgNVBAgMBlRhaXdhbjEWMBQGA1UEBwwNSHNpbi1D 9 - aHUgQ2l0eTEnMCUGA1UECgweTmF0aW9uYWwgQ2hpYW8tVHVuZyBVbml2ZXJzaXR5 10 - MScwJQYDVQQLDB5EZXBhcnRtZW50IG9mIENvbXB1dGVyIFNjaWVuY2UxJjAkBgNV 11 - BAMMHU5DVFUgQ1MgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSIwIAYJKoZIhvcNAQkB 12 - FhNoZWxwQGNzLm5jdHUuZWR1LnR3MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC 13 - CgKCAgEAvOZF59xipyzkRVbWTqMCf94ucr4ze6mTtctDnqpFFRfFC0ksXKVFZbhf 14 - /N9dSTw+i8WJQY/RZc5jHNx7E+fnNdURBQniyuiXBTTicoVYp1Uef56CAYbEZDfp 15 - VQmmovcGv8gEuZ4L/CFMwsFFFab2epS7A7u7wk0dnhFBpvC0RigqQIwtlBc/M0WA 16 - a8C9cwBzxpblpa0TY3pMbI3KPxLnflTrlPqCrlcWCuChen3Z1Lzu5C9EgavPJsYU 17 - bmGwOayP4cie59dVYzCrmi6/XHMsfWuJ4vAHVOJqV1JeKbS65MfOVE+UVNKAGaLO 18 - a6RaVcy0M5IAhTGSi+kZeBgVC0c5yoNZ7NHyG1EOOBg6CoNsWW4B8F2780s6ofRG 19 - Ukl2+HGf6nvqgUsU3cyyZ09OFk4gDTPAj24VSG5uAdCUst1aaTxwl2yr1jNHSy3R 20 - pxjGkx7DGWBveRwFl9sTxAyD+k/7eJ+ygJk4D5JxaMsOM334aBwsYoqhzwePL7SC 21 - LXcj92qj4DFasCmQSFUpKkT7YLJvTi16RwGM2qGklSTfxm5jWCI6XXNTkgyPZXZd 22 - 76QnyCkT3w224M/g5MziPFyMrHfYnJl2tX2AKq6qS32uk6UQw1FH4lpxPuLc5F// 23 - yXG4/5j3+apMm3jhFcIQ3vuqZV3kz88HeeuBPbRwajkrhPxS/BcCAwEAAaNQME4w 24 - HQYDVR0OBBYEFNPLn9RQJ0u6prsffVi3a0QGxSgjMB8GA1UdIwQYMBaAFNPLn9RQ 25 - J0u6prsffVi3a0QGxSgjMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQENBQADggIB 26 - AGd5PjBAeWqpAM7kaGrKHY/d+kS1tKPH/c9HJcIsrZGNImKyuJ0KXLhmwIBMrARQ 27 - 9Ly2km8FZEo1LKPd6EYzKzru/xUdY/vz2UO/4aouOyNn6rI9umXaahPKElSN6gka 28 - NIPY7DpGcaCmtMzE13e7wbh9IkqwWPrzRNwaZKybWyWp6/AJCSc6PoqqW0+3plBA 29 - XuCDlM6XJF8duqWcdJKBcdCwdYdrHtb0xcwEG4XF+G04R6uEA0AfCIylvwjOAKN/ 30 - 5AeiYJ+hz837XE3i1CZmsNR5uo1erijVuyMN8DD/9pr2QwYP/4b7nCSDMckTrHez 31 - um7gMtYIoy4OnLvSddjUboRpor/iaE1H/3LK1gvnMbII45EhUdPKIN2/nlfY0g5T 32 - jx9OW2UXl33WlZT7oA1II87CV2H6k72TnH6fDjGFepWPsnJQ+Fk7+zHSbJEIFJzr 33 - 49rK+dahSjt3C9GB7aJu/NOhGA1W8iaWEyYPO/FOfmvJZwMlZgbeN0utWyJ1zsi5 34 - DWaofN3JwjaAD4nJfIbTF1iINJ3NhjIRETTQ31G/AWhV8H8ZCK+4iE+rQ3OuWzYU 35 - vd5u4z/jaVcUnJKukM0e9VAgxEC7A8rRFgko5XjKXrCZgkzbhQWA0uzYvx0ghIMe 36 - x8AH/WxuNFhZq3OmgppgVaGeuOvN7xSEbLACAOekJWp1 37 - -----END CERTIFICATE----- 38 -
+7 -29
flake.lock
··· 67 67 "type": "github" 68 68 } 69 69 }, 70 - "catppuccin": { 71 - "inputs": { 72 - "nixpkgs": [ 73 - "nixpkgs" 74 - ] 75 - }, 76 - "locked": { 77 - "lastModified": 1754766435, 78 - "narHash": "sha256-DT8CQoqV2haX+Fo16WXAt9gKCSXOZH9ZfnV++Br+qcM=", 79 - "owner": "catppuccin", 80 - "repo": "nix", 81 - "rev": "e339d6d822fa81c39d1ab89694b4ee2cfc830c9a", 82 - "type": "github" 83 - }, 84 - "original": { 85 - "owner": "catppuccin", 86 - "ref": "release-25.05", 87 - "repo": "nix", 88 - "type": "github" 89 - } 90 - }, 91 70 "disko": { 92 71 "inputs": { 93 72 "nixpkgs": [ ··· 201 180 }, 202 181 "nixpkgs": { 203 182 "locked": { 204 - "lastModified": 1759205709, 205 - "narHash": "sha256-oIwLpsAOGaGbotzQ5B+sZZqVsR0yZALER3tkGL3pH44=", 206 - "rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23", 183 + "lastModified": 1759799646, 184 + "narHash": "sha256-1WvIF4N7Jj1ppU9ocZZBpsQdiVsHVzVxNt9L2+7FwPM=", 185 + "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff", 207 186 "type": "tarball", 208 - "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.810541.5ed4e25ab58f/nixexprs.tar.xz" 187 + "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.810859.20c4598c84a6/nixexprs.tar.xz" 209 188 }, 210 189 "original": { 211 190 "type": "tarball", ··· 240 219 }, 241 220 "root": { 242 221 "inputs": { 243 - "catppuccin": "catppuccin", 244 222 "disko": "disko", 245 223 "home-manager": "home-manager", 246 224 "nixpkgs": "nixpkgs", ··· 268 246 "tinted-zed": "tinted-zed" 269 247 }, 270 248 "locked": { 271 - "lastModified": 1759050585, 272 - "narHash": "sha256-Mj99rGy+K9jaQ85U2YWydZ9OKCIAdkxClrJlfG04GxU=", 249 + "lastModified": 1759596342, 250 + "narHash": "sha256-1Eda1V8pjpviMdBTdDXrFp7jkaUokIgXgBYTZyzDODk=", 273 251 "owner": "nix-community", 274 252 "repo": "stylix", 275 - "rev": "3f71498ed14405aea347b9f5b7f56d97e64e904c", 253 + "rev": "4d065856e936fc6a99ba55d39ac2df9ded6bedbe", 276 254 "type": "github" 277 255 }, 278 256 "original": {
+4 -4
flake.nix
··· 11 11 url = "github:nix-community/stylix/release-25.05"; 12 12 inputs.nixpkgs.follows = "nixpkgs"; 13 13 }; 14 - catppuccin = { 15 - url = "github:catppuccin/nix/release-25.05"; 16 - inputs.nixpkgs.follows = "nixpkgs"; 17 - }; 14 + # catppuccin = { 15 + # url = "github:catppuccin/nix/release-25.05"; 16 + # inputs.nixpkgs.follows = "nixpkgs"; 17 + # }; 18 18 home-manager = { 19 19 url = "github:nix-community/home-manager/release-25.05"; 20 20 inputs.nixpkgs.follows = "nixpkgs";
+1 -1
hosts/aqua/default.nix
··· 1 1 { pkgs, ... }: 2 2 { 3 3 imports = [ 4 - ../../modules/nixos.nix 4 + ../../modules/desktop.nix 5 5 ./disk-config.nix 6 6 ./hardware-configuration.nix 7 7 ];
+40 -130
modules/desktop.nix
··· 2 2 config, 3 3 lib, 4 4 pkgs, 5 - catppuccin, 6 5 ... 7 6 }@inputs: 8 7 with inputs; ··· 10 9 my = config.my; 11 10 in 12 11 { 12 + imports = [ 13 + ./config.nix 14 + ./hm.nix 15 + ./nixos.nix 16 + ]; 17 + 13 18 config = ( 14 19 let 15 20 kdeConfig = { 16 - services.desktopManager.plasma6 = { 17 - enable = true; 18 - }; 21 + services.desktopManager.plasma6.enable = true; 19 22 services.orca.enable = false; 20 - 21 23 environment.plasma6.excludePackages = with pkgs.kdePackages; [ 22 24 elisa 23 25 okular ··· 32 34 }; 33 35 34 36 tdeConfig = { 37 + environment.systemPackages = with pkgs; [ 38 + bluetui 39 + brightnessctl 40 + (catppuccin-sddm.override { 41 + flavor = "frappe"; 42 + }) 43 + (flameshot.override { enableWlrSupport = true; }) 44 + fuzzel 45 + grim 46 + hyprlock 47 + kanshi 48 + libnotify 49 + swaybg 50 + swayidle 51 + xwayland-satellite 52 + (pkgs.writeShellApplication { 53 + name = "ez-cmd-palette"; 54 + text = builtins.readFile ../bin/ez-cmd-palette; 55 + }) 56 + (pkgs.writeShellApplication { 57 + name = "ez-cmd-hwctl"; 58 + text = builtins.readFile ../bin/ez-cmd-hwctl; 59 + }) 60 + (pkgs.writeShellApplication { 61 + name = "ez-cmd-dnd"; 62 + text = builtins.readFile ../bin/ez-cmd-dnd; 63 + }) 64 + adwaita-icon-theme 65 + kdePackages.breeze-icons 66 + ]; 67 + programs.niri.enable = true; 35 68 stylix = { 36 69 enable = true; 37 70 base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml"; ··· 42 75 }; 43 76 serif = { 44 77 package = pkgs.source-han-serif; 45 - name = "Source Han Serif"; 78 + name = "Noto Serif"; 46 79 }; 47 80 sansSerif = config.stylix.fonts.monospace; 48 81 emoji = { ··· 65 98 dark = "Adwaita Dark"; 66 99 }; 67 100 }; 68 - programs.niri.enable = true; 69 - # programs.waybar.enable = true; 70 - # https://github.com/nixos/nixpkgs/issues/425797 71 - # systemd.user.services.waybar.path = [ 72 - # (builtins.getEnv "PATH") 73 - # ]; 74 - # systemd.user.services.waybar.environment = config.environment.variables; 75 - environment.systemPackages = with pkgs; [ 76 - bluetui 77 - swaybg 78 - swayidle 79 - hyprlock 80 - kanshi 81 - grim 82 - (flameshot.override { enableWlrSupport = true; }) 83 - fuzzel 84 - brightnessctl 85 - libnotify 86 - xwayland-satellite 87 - (catppuccin-sddm.override { 88 - flavor = "frappe"; 89 - }) 90 - (pkgs.writeShellApplication { 91 - name = "ez-cmd-palette"; 92 - text = builtins.readFile ../bin/ez-cmd-palette; 93 - }) 94 - (pkgs.writeShellApplication { 95 - name = "ez-cmd-hwctl"; 96 - text = builtins.readFile ../bin/ez-cmd-hwctl; 97 - }) 98 - (pkgs.writeShellApplication { 99 - name = "ez-cmd-dnd"; 100 - text = builtins.readFile ../bin/ez-cmd-dnd; 101 - }) 102 - adwaita-icon-theme 103 - kdePackages.breeze-icons 104 - xfce.thunar 105 - xfce.thunar-volman 106 - ]; 107 101 services.displayManager.sddm.theme = "catppuccin-frappe"; 108 - services.gvfs.enable = true; 109 - systemd.packages = with pkgs; [ 110 - mako 111 - ]; 102 + systemd.packages = with pkgs; [ mako ]; 112 103 systemd.user.services.mako.wantedBy = [ "graphical-session.target" ]; 113 - home-manager = { 114 - sharedModules = [ 115 - { 116 - stylix.targets = { 117 - waybar = { 118 - enableLeftBackColors = true; 119 - enableRightBackColors = true; 120 - }; 121 - fcitx5.enable = true; 122 - }; 123 - } 124 - ]; 125 - backupFileExtension = "bak"; 126 - useGlobalPkgs = true; 127 - useUserPackages = true; 128 - users.${my.username} = { 129 - home = { 130 - stateVersion = "25.05"; 131 - }; 132 - services.kanshi.enable = true; 133 - services.mako = { 134 - enable = true; 135 - settings = { 136 - padding = 16; 137 - border-radius = 4; 138 - default-timeout = 5000; 139 - "mode=dnd" = { 140 - invisible = 1; 141 - }; 142 - "app-name=wp-vol" = { 143 - layer = "overlay"; 144 - history = 0; 145 - anchor = "center"; 146 - group-by = "app-name"; 147 - format = "<b>%s</b>\\n%b"; 148 - }; 149 - "app-name=brightnessctl" = { 150 - layer = "overlay"; 151 - history = 0; 152 - anchor = "center"; 153 - group-by = "app-name"; 154 - format = "<b>%s</b>\\n%b"; 155 - }; 156 - }; 157 - }; 158 - # programs.hyprlock.enable = true; 159 - programs.firefox.enable = true; 160 - programs.chromium.enable = true; 161 - programs.chromium.package = pkgs.brave; 162 - programs = { 163 - bat.enable = true; 164 - btop.enable = true; 165 - 166 - waybar = { 167 - enable = true; 168 - systemd.enable = true; 169 - style = '' 170 - .modules-left { 171 - padding-left: 16px; 172 - } 173 - .modules-right { 174 - padding-right: 32px; 175 - } 176 - ''; 177 - }; 178 - 179 - fuzzel = { 180 - enable = true; 181 - settings = { 182 - main = { 183 - horizontal-pad = 32; 184 - vertical-pad = 24; 185 - }; 186 - border = { 187 - width = 2; 188 - }; 189 - }; 190 - }; 191 - }; 192 - }; 193 - }; 194 104 }; 195 105 in 196 106 lib.mkMerge [
+99
modules/hm.nix
··· 1 + { config, lib, pkgs, ... }: 2 + let 3 + my = config.my; 4 + in 5 + { 6 + config = ( 7 + let 8 + commonHM = { 9 + home-manager.backupFileExtension = "backup"; 10 + home-manager.useGlobalPkgs = true; 11 + home-manager.useUserPackages = true; 12 + home-manager.sharedModules = [ 13 + { 14 + stylix.targets = { 15 + fcitx5.enable = true; 16 + }; 17 + } 18 + ]; 19 + home-manager.users.${my.username} = { 20 + home.stateVersion = "25.05"; 21 + programs.firefox.enable = true; 22 + programs.chromium.enable = true; 23 + programs.chromium.package = pkgs.brave; 24 + }; 25 + }; 26 + 27 + tdeHM = { 28 + home-manager.sharedModules = [ 29 + { 30 + stylix.targets = { 31 + waybar = { 32 + enableLeftBackColors = true; 33 + enableRightBackColors = true; 34 + }; 35 + }; 36 + } 37 + ]; 38 + home-manager.users.${my.username} = { 39 + services.kanshi.enable = true; 40 + services.mako = { 41 + enable = true; 42 + settings = { 43 + padding = 16; 44 + border-radius = 4; 45 + default-timeout = 5000; 46 + "mode=dnd" = { 47 + invisible = 1; 48 + }; 49 + "app-name=wp-vol" = { 50 + layer = "overlay"; 51 + history = 0; 52 + anchor = "center"; 53 + group-by = "app-name"; 54 + format = "<b>%s</b>\\n%b"; 55 + }; 56 + "app-name=brightnessctl" = { 57 + layer = "overlay"; 58 + history = 0; 59 + anchor = "center"; 60 + group-by = "app-name"; 61 + format = "<b>%s</b>\\n%b"; 62 + }; 63 + }; 64 + }; 65 + programs.bat.enable = true; 66 + programs.btop.enable = true; 67 + programs.waybar = { 68 + enable = true; 69 + systemd.enable = true; 70 + style = '' 71 + .modules-left { 72 + padding-left: 16px; 73 + } 74 + .modules-right { 75 + padding-right: 32px; 76 + } 77 + ''; 78 + }; 79 + programs.fuzzel = { 80 + enable = true; 81 + settings = { 82 + main = { 83 + horizontal-pad = 32; 84 + vertical-pad = 24; 85 + }; 86 + border = { 87 + width = 2; 88 + }; 89 + }; 90 + }; 91 + }; 92 + }; 93 + in 94 + lib.mkMerge [ 95 + commonHM 96 + (lib.mkIf my.desktop.enableTDE tdeHM) 97 + ] 98 + ); 99 + }
-5
modules/nixos.nix
··· 8 8 my = config.my; 9 9 in 10 10 { 11 - imports = [ 12 - ./config.nix 13 - ./desktop.nix 14 - ]; 15 - 16 11 # Linux FHS 17 12 # https://github.com/Mic92/nix-ld 18 13 programs.nix-ld = {
-7
modules/utils.nix
··· 13 13 specialArgs = { inherit inputs; }; 14 14 modules = [ 15 15 inputs.disko.nixosModules.disko 16 - inputs.catppuccin.nixosModules.catppuccin 17 16 inputs.stylix.nixosModules.stylix 18 17 inputs.home-manager.nixosModules.home-manager 19 - { 20 - home-manager.backupFileExtension = "bak"; 21 - home-manager.users.ydcjeff = { 22 - imports = [ inputs.catppuccin.homeModules.catppuccin ]; 23 - }; 24 - } 25 18 config 26 19 ]; 27 20 };