Personal NixOS flake

tons of cleaning, testing hyprland stuff

+380 -380
+257
base-system.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + 5 + { config, lib, pkgs, ... }: 6 + 7 + { 8 + # Enable the X11 windowing system. 9 + # You can disable this if you're only using the Wayland session. 10 + services.xserver.enable = true; 11 + 12 + # Enable the KDE Plasma Desktop Environment. 13 + services.displayManager.sddm.enable = true; 14 + services.desktopManager.plasma6.enable = true; 15 + 16 + # Configure keymap in X11 17 + services.xserver.xkb = { 18 + layout = "us"; 19 + variant = ""; 20 + }; 21 + 22 + # Enable CUPS to print documents. 23 + services.printing.enable = true; 24 + 25 + # Enable touchpad support (enabled default in most desktopManager). 26 + # services.xserver.libinput.enable = true; 27 + 28 + # Define a user account. Don't forget to set a password with ‘passwd’. 29 + users.users.emily = { 30 + isNormalUser = true; 31 + description = "Emily"; 32 + extraGroups = [ "networkmanager" "wheel" "docker"]; 33 + packages = with pkgs; [ 34 + kdePackages.kate 35 + keepassxc 36 + ]; 37 + }; 38 + 39 + # Install firefox. 40 + programs.firefox.enable = true; 41 + 42 + environment.shellAliases = { 43 + nv = "nvim"; 44 + }; 45 + 46 + 47 + programs.steam = { 48 + enable = true; 49 + remotePlay.openFirewall = true; 50 + dedicatedServer.openFirewall = true; 51 + localNetworkGameTransfers.openFirewall = true; 52 + #platformOptimizations.enable = true; 53 + protontricks.enable = true; 54 + 55 + }; 56 + 57 + # hyprland 58 + programs.hyprland = { 59 + enable = true; 60 + withUWSM = true; 61 + }; 62 + # Some programs need SUID wrappers, can be configured further or are 63 + # started in user sessions. 64 + # programs.mtr.enable = true; 65 + # programs.gnupg.agent = { 66 + # enable = true; 67 + # enableSSHSupport = true; 68 + # }; 69 + 70 + # List services that you want to enable: 71 + 72 + # Enable the OpenSSH daemon. 73 + # services.openssh.enable = true; 74 + 75 + # Open ports in the firewall. 76 + # networking.firewall.allowedTCPPorts = [ ... ]; 77 + # networking.firewall.allowedUDPPorts = [ ... ]; 78 + # Or disable the firewall altogether. 79 + #networking.firewall.enable = false; 80 + 81 + # This value determines the NixOS release from which the default 82 + # settings for stateful data, like file locations and database versions 83 + # on your system were taken. It‘s perfectly fine and recommended to leave 84 + # this value at the release version of the first install of this system. 85 + # Before changing this value read the documentation for this option 86 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 87 + system.stateVersion = "24.05"; # Did you read the comment? 88 + 89 + i18n = { 90 + inputMethod = { 91 + enable = true; 92 + type = "fcitx5"; 93 + fcitx5 = { 94 + addons = with pkgs; [ 95 + fcitx5-mozc 96 + fcitx5-gtk 97 + catppuccin-fcitx5 98 + ]; 99 + 100 + }; 101 + }; 102 + }; 103 + 104 + fonts.packages = with pkgs; [ 105 + noto-fonts 106 + noto-fonts-cjk-sans 107 + noto-fonts-emoji 108 + ]; 109 + 110 + nixpkgs.config = { 111 + allowUnfree = true; 112 + }; 113 + 114 + ######################## 115 + # from sys/default.nix # 116 + ######################## 117 + 118 + nix = { 119 + settings = { 120 + experimental-features = ["nix-command" "flakes"]; 121 + }; 122 + }; 123 + 124 + time.timeZone = "America/New_York"; 125 + 126 + i18n = { 127 + defaultLocale = "en_US.UTF-8"; 128 + 129 + extraLocaleSettings = { 130 + LC_ADDRESS = "en_US.UTF-8"; 131 + LC_IDENTIFICATION = "en_US.UTF-8"; 132 + LC_MEASUREMENT = "en_US.UTF-8"; 133 + LC_MONETARY = "en_US.UTF-8"; 134 + LC_NAME = "en_US.UTF-8"; 135 + LC_NUMERIC = "en_US.UTF-8"; 136 + LC_PAPER = "en_US.UTF-8"; 137 + LC_TELEPHONE = "en_US.UTF-8"; 138 + LC_TIME = "en_US.UTF-8"; 139 + 140 + }; 141 + }; 142 + 143 + boot= { 144 + loader = { 145 + systemd-boot.enable = true; 146 + efi.canTouchEfiVariables = true; 147 + }; 148 + 149 + supportedFilesystems = [ "ntfs" ]; 150 + }; 151 + 152 + 153 + # feesh 154 + programs.fish.enable = true; 155 + users.defaultUserShell = pkgs.fish; 156 + networking.networkmanager.enable = true; 157 + 158 + # pipewire 159 + services.pulseaudio.enable = false; 160 + security.rtkit.enable = true; 161 + services.pipewire = { 162 + enable = true; 163 + alsa.enable = true; 164 + alsa.support32Bit = true; 165 + pulse.enable = true; 166 + # If you want to use JACK applications, uncomment this 167 + #jack.enable = true; 168 + 169 + # use the example session manager (no others are packaged yet so this is enabled by default, 170 + # no need to redefine it in your config for now) 171 + #media-session.enable = true; 172 + }; 173 + 174 + hardware.graphics.enable = true; 175 + services.xserver.videoDrivers = ["nvidia"]; 176 + hardware.nvidia = { 177 + modesetting.enable = true; 178 + powerManagement.enable = true; 179 + powerManagement.finegrained = false; 180 + open = false; 181 + nvidiaSettings = true; 182 + 183 + package = config.boot.kernelPackages.nvidiaPackages.latest; 184 + }; 185 + 186 + services.ratbagd.enable = true; 187 + 188 + services = { 189 + syncthing = { 190 + enable = true; 191 + openDefaultPorts = true; 192 + settings = { 193 + gui = { 194 + user = "emily"; 195 + password = "don'tfuuckingcommitthispasswordyoubsolutefool"; 196 + }; 197 + 198 + devices = { 199 + "Bismuth" = { id = "HVYM6NR-CSG4XFD-6V76ABE-TFFXKSC-Q4NWO3R-ZPGAUBP-OSMVOGD-GCASDAT"; }; 200 + }; 201 + }; 202 + }; 203 + }; 204 + services.openssh = { 205 + enable = true; 206 + settings.PasswordAuthentication = false; 207 + settings.KbdInteractiveAuthentication = false; 208 + }; 209 + 210 + users.users."emily".openssh.authorizedKeys.keys = [ 211 + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBR3yUt3t1RB0QzRDBKtiY5P5gk+kCWr+7/cSVg2DO3" 212 + ]; 213 + 214 + ################# 215 + # from sys/cli/ # 216 + ################# 217 + 218 + environment.systemPackages = with pkgs; [ 219 + bat 220 + btop 221 + dua 222 + figlet 223 + git 224 + htop 225 + just 226 + kitty 227 + lolcat 228 + p7zip 229 + ripgrep 230 + swayfx 231 + tealdeer 232 + tmux 233 + tree 234 + unzip 235 + wget 236 + wget 237 + wofi 238 + yazi 239 + ]; 240 + 241 + programs.neovim = { 242 + enable = true; 243 + configure = { 244 + customRC = '' 245 + nnoremap ; : 246 + set number 247 + set relativenumber 248 + set expandtab 249 + set shiftwidth=2 250 + ''; 251 + }; 252 + viAlias = true; 253 + vimAlias = true; 254 + defaultEditor = true; 255 + }; 256 + 257 + }
-103
configuration.nix
··· 1 - # Edit this configuration file to define what should be installed on 2 - # your system. Help is available in the configuration.nix(5) man page 3 - # and in the NixOS manual (accessible by running ‘nixos-help’). 4 - 5 - { config, lib, pkgs, ... }: 6 - 7 - { 8 - # Enable the X11 windowing system. 9 - # You can disable this if you're only using the Wayland session. 10 - services.xserver.enable = true; 11 - 12 - # Enable the KDE Plasma Desktop Environment. 13 - services.displayManager.sddm.enable = true; 14 - services.desktopManager.plasma6.enable = true; 15 - 16 - # Configure keymap in X11 17 - services.xserver.xkb = { 18 - layout = "us"; 19 - variant = ""; 20 - }; 21 - 22 - # Enable CUPS to print documents. 23 - services.printing.enable = true; 24 - 25 - # Enable touchpad support (enabled default in most desktopManager). 26 - # services.xserver.libinput.enable = true; 27 - 28 - # Define a user account. Don't forget to set a password with ‘passwd’. 29 - users.users.emily = { 30 - isNormalUser = true; 31 - description = "Emily"; 32 - extraGroups = [ "networkmanager" "wheel" "docker"]; 33 - packages = with pkgs; [ 34 - kdePackages.kate 35 - keepassxc 36 - ]; 37 - }; 38 - 39 - # Install firefox. 40 - programs.firefox.enable = true; 41 - 42 - environment.shellAliases = { 43 - nv = "nvim"; 44 - }; 45 - 46 - 47 - programs.steam = { 48 - enable = true; 49 - remotePlay.openFirewall = true; 50 - dedicatedServer.openFirewall = true; 51 - localNetworkGameTransfers.openFirewall = true; 52 - #platformOptimizations.enable = true; 53 - protontricks.enable = true; 54 - 55 - }; 56 - 57 - # hyprland 58 - programs.hyprland.enable = true; 59 - 60 - # Some programs need SUID wrappers, can be configured further or are 61 - # started in user sessions. 62 - # programs.mtr.enable = true; 63 - # programs.gnupg.agent = { 64 - # enable = true; 65 - # enableSSHSupport = true; 66 - # }; 67 - 68 - # List services that you want to enable: 69 - 70 - # Enable the OpenSSH daemon. 71 - # services.openssh.enable = true; 72 - 73 - # Open ports in the firewall. 74 - # networking.firewall.allowedTCPPorts = [ ... ]; 75 - # networking.firewall.allowedUDPPorts = [ ... ]; 76 - # Or disable the firewall altogether. 77 - #networking.firewall.enable = false; 78 - 79 - # This value determines the NixOS release from which the default 80 - # settings for stateful data, like file locations and database versions 81 - # on your system were taken. It‘s perfectly fine and recommended to leave 82 - # this value at the release version of the first install of this system. 83 - # Before changing this value read the documentation for this option 84 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 85 - system.stateVersion = "24.05"; # Did you read the comment? 86 - 87 - i18n = { 88 - inputMethod = { 89 - enable = true; 90 - type = "fcitx5"; 91 - fcitx5 = { 92 - addons = with pkgs; [ 93 - fcitx5-mozc 94 - fcitx5-gtk 95 - catppuccin-fcitx5 96 - ]; 97 - 98 - }; 99 - }; 100 - }; 101 - 102 - 103 - }
+84
desktop.nix
··· 1 + {config, lib, pkgs, home-manager, ...}: 2 + { 3 + # imports = [ 4 + # ./hw-confs/desktop.nix 5 + # ]; 6 + 7 + # imports = [ 8 + # ./filesystems.nix 9 + # ./virt.nix 10 + # ]; 11 + 12 + boot = { 13 + supportedFilesystems = ["zfs"]; 14 + zfs.forceImportRoot = false; 15 + }; 16 + 17 + networking = { 18 + hostName = "emerald"; 19 + # networkmanager.enable = true; 20 + hostId = "7210d2a7"; 21 + }; 22 + 23 + 24 + services = { 25 + syncthing = { 26 + settings = { 27 + devices = { 28 + "quartz" = { id = "EJ7G7LI-7XLJ6PB-AID7I75-WQ2PYAY-V42GMIN-GYBSLDS-BRIETL7-4CFLSQ7"; }; 29 + }; 30 + 31 + folders = { 32 + "Obsidian" = { 33 + id = "obsidian-vaults-current"; 34 + path = "/mnt/BiggusDiskus/Vaults/Current"; 35 + devices = ["Bismuth" "quartz"]; 36 + }; 37 + }; 38 + }; 39 + }; 40 + }; 41 + 42 + fileSystems."/mnt/BiggusDiskus" = { 43 + device = "/dev/nvme0n1p2"; 44 + fsType = "ntfs-3g"; 45 + options = [ 46 + "users" 47 + "nofail" 48 + "rw" 49 + "exec" 50 + ]; 51 + }; 52 + virtualisation = { 53 + docker = { 54 + enable = true; 55 + liveRestore = false; 56 + daemon.settings = { 57 + data-root = "/docker"; 58 + }; 59 + }; 60 + 61 + # Could/should probs make these their own modules too tbh 62 + oci-containers.containers = { 63 + "gitea" = { 64 + autoStart = true; 65 + image = "gitea/gitea"; 66 + ports = [ "32769:22" "32768:3000"]; 67 + environment = { 68 + #USER_UID = "1000"; 69 + #USER_GID = "1000"; 70 + USER = "git"; 71 + GITEA_CUSTOM = "/data/gitea"; 72 + }; 73 + volumes = [ 74 + "/home/volumes/gitea/data:/data" 75 + "/etc/timezone:/etc/timezone:ro" 76 + "/etc/localtime:/etc/localtime:ro" 77 + ]; 78 + }; 79 + }; 80 + }; 81 + 82 + home-manager.users.emily.wayland.windowManager.hyprland.settings.monitor = 83 + [ "DP-2, 1920x1080@144, 0x0, 1" "DP-3, 1920x1080@144, auto, 1, transform, 3"]; 84 + }
+22 -13
flake.nix
··· 40 40 in 41 41 { 42 42 # Please replace my-nixos with your hostname 43 - nixosConfigurations.Emerald = nixpkgs.lib.nixosSystem { 43 + nixosConfigurations.emerald = nixpkgs.lib.nixosSystem { 44 44 specialArgs = { 45 45 inherit inputs; 46 46 }; ··· 48 48 modules = [ 49 49 # Import the previous configuration.nix we used, 50 50 # so the old configuration file still takes effect 51 - ./hardware-configuration.nix 52 - ./configuration.nix 53 - ./fonts.nix 51 + #./hardware-configuration.nix 52 + #./configuration.nix 53 + #./fonts.nix 54 54 55 - ./sys/default.nix 56 - ./sys/desktop.nix 57 - ./nixpkgs.nix 55 + # ./sys/default.nix 56 + #./sys/desktop.nix 57 + #./nixpkgs.nix 58 58 59 59 # home-manager 60 + 61 + ./base-system.nix 62 + ./desktop.nix 63 + ./systems/emerald/hardware-configuration.nix 64 + 60 65 home-manager.nixosModules.home-manager 61 66 { 62 67 ··· 95 100 }; 96 101 97 102 modules = [ 98 - ./quartz.nix 99 - ./configuration.nix 100 - ./fonts.nix 103 + # ./quartz.nix 104 + # ./configuration.nix 105 + # ./fonts.nix 101 106 102 - ./sys/default.nix 103 - ./sys/laptop.nix 104 - ./nixpkgs.nix 107 + # ./sys/default.nix 108 + # ./sys/laptop.nix 109 + # ./nixpkgs.nix 110 + 111 + ./base-system.nix 112 + ./laptop.nix 113 + ./systems/quartz/hardware-configuration.nix 105 114 106 115 # home-manager 107 116 home-manager.nixosModules.home-manager
-12
fonts.nix
··· 1 - { config, lib, pkgs, ... }: 2 - { 3 - fonts.packages = with pkgs; [ 4 - noto-fonts 5 - noto-fonts-cjk-sans 6 - noto-fonts-emoji 7 - ]; 8 - # fonts = { 9 - # fontconfig = { 10 - # }; 11 - # }; 12 - }
hardware-configuration.nix systems/emerald/hardware-configuration.nix
+12
home.nix
··· 74 74 75 75 rmpc 76 76 kitty 77 + networkmanagerapplet 78 + grimblast 77 79 ]; 78 80 in 79 81 { ··· 323 325 WantedBy = [ "timers.target" ]; 324 326 }; 325 327 }; 328 + }; 329 + 330 + wayland.windowManager.hyprland = { 331 + enable = true; 332 + systemd.enable = false; 333 + 334 + # Bite me 335 + extraConfig = '' 336 + source = ~/.config/hypr/hyprland_1.conf 337 + ''; 326 338 }; 327 339 }
-8
nixpkgs.nix
··· 1 - { 2 - nixpkgs.config = { 3 - allowUnfree = true; 4 - }; 5 - # inputs.nixpkgs-unstable.config = { 6 - # allowUnfree = true; 7 - # }; 8 - }
quartz.nix systems/quartz/hardware-configuration.nix
-30
sys/cli/default.nix
··· 1 - {config, lib, pkgs, ...}: 2 - { 3 - imports = [ 4 - ./neovim.nix 5 - ]; 6 - 7 - environment.systemPackages = with pkgs; [ 8 - figlet 9 - lolcat 10 - git 11 - wget 12 - #neovim # We explicitly install and configure neovim system-wide below 13 - bat 14 - btop 15 - htop 16 - ranger 17 - unzip 18 - tmux 19 - dua 20 - swayfx 21 - wofi 22 - just 23 - kitty 24 - p7zip 25 - tealdeer 26 - tree 27 - # wget 28 - ripgrep 29 - ]; 30 - }
-17
sys/cli/neovim.nix
··· 1 - { 2 - programs.neovim = { 3 - enable = true; 4 - configure = { 5 - customRC = '' 6 - nnoremap ; : 7 - set number 8 - set relativenumber 9 - set expandtab 10 - set shiftwidth=2 11 - ''; 12 - }; 13 - viAlias = true; 14 - vimAlias = true; 15 - defaultEditor = true; 16 - }; 17 - }
-78
sys/default.nix
··· 1 - {config, lib, pkgs, ... }: 2 - { 3 - imports = [ 4 - ./cli 5 - ./services.nix 6 - ]; 7 - 8 - 9 - nix = { 10 - settings = { 11 - experimental-features = ["nix-command" "flakes"]; 12 - }; 13 - }; 14 - 15 - time.timeZone = "America/New_York"; 16 - 17 - i18n = { 18 - defaultLocale = "en_US.UTF-8"; 19 - 20 - extraLocaleSettings = { 21 - LC_ADDRESS = "en_US.UTF-8"; 22 - LC_IDENTIFICATION = "en_US.UTF-8"; 23 - LC_MEASUREMENT = "en_US.UTF-8"; 24 - LC_MONETARY = "en_US.UTF-8"; 25 - LC_NAME = "en_US.UTF-8"; 26 - LC_NUMERIC = "en_US.UTF-8"; 27 - LC_PAPER = "en_US.UTF-8"; 28 - LC_TELEPHONE = "en_US.UTF-8"; 29 - LC_TIME = "en_US.UTF-8"; 30 - 31 - }; 32 - }; 33 - 34 - boot= { 35 - loader = { 36 - systemd-boot.enable = true; 37 - efi.canTouchEfiVariables = true; 38 - }; 39 - 40 - supportedFilesystems = [ "ntfs" ]; 41 - }; 42 - 43 - 44 - # feesh 45 - programs.fish.enable = true; 46 - users.defaultUserShell = pkgs.fish; 47 - networking.networkmanager.enable = true; 48 - 49 - # pipewire 50 - services.pulseaudio.enable = false; 51 - security.rtkit.enable = true; 52 - services.pipewire = { 53 - enable = true; 54 - alsa.enable = true; 55 - alsa.support32Bit = true; 56 - pulse.enable = true; 57 - # If you want to use JACK applications, uncomment this 58 - #jack.enable = true; 59 - 60 - # use the example session manager (no others are packaged yet so this is enabled by default, 61 - # no need to redefine it in your config for now) 62 - #media-session.enable = true; 63 - }; 64 - 65 - hardware.graphics.enable = true; 66 - services.xserver.videoDrivers = ["nvidia"]; 67 - hardware.nvidia = { 68 - modesetting.enable = true; 69 - powerManagement.enable = true; 70 - powerManagement.finegrained = false; 71 - open = false; 72 - nvidiaSettings = true; 73 - 74 - package = config.boot.kernelPackages.nvidiaPackages.latest; 75 - }; 76 - 77 - services.ratbagd.enable = true; 78 - }
-41
sys/desktop.nix
··· 1 - {config, lib, pkgs, ...}: 2 - { 3 - # imports = [ 4 - # ./hw-confs/desktop.nix 5 - # ]; 6 - 7 - imports = [ 8 - ./filesystems.nix 9 - ./virt.nix 10 - ]; 11 - 12 - boot = { 13 - supportedFilesystems = ["zfs"]; 14 - zfs.forceImportRoot = false; 15 - }; 16 - 17 - networking = { 18 - hostName = "Emerald"; 19 - # networkmanager.enable = true; 20 - hostId = "7210d2a7"; 21 - }; 22 - 23 - 24 - services = { 25 - syncthing = { 26 - settings = { 27 - devices = { 28 - "quartz" = { id = "EJ7G7LI-7XLJ6PB-AID7I75-WQ2PYAY-V42GMIN-GYBSLDS-BRIETL7-4CFLSQ7"; }; 29 - }; 30 - 31 - folders = { 32 - "Obsidian" = { 33 - id = "obsidian-vaults-current"; 34 - path = "/mnt/BiggusDiskus/Vaults/Current"; 35 - devices = ["Bismuth" "quartz"]; 36 - }; 37 - }; 38 - }; 39 - }; 40 - }; 41 - }
-12
sys/filesystems.nix
··· 1 - { 2 - fileSystems."/mnt/BiggusDiskus" = { 3 - device = "/dev/nvme0n1p2"; 4 - fsType = "ntfs-3g"; 5 - options = [ 6 - "users" 7 - "nofail" 8 - "rw" 9 - "exec" 10 - ]; 11 - }; 12 - }
+5 -2
sys/laptop.nix laptop.nix
··· 15 15 syncthing = { 16 16 settings = { 17 17 devices = { 18 - "Emerald" = { id = "INKFIAW-55AWZP4-WSXYO7Z-YU2GBBU-QHYZMOD-YEZOHAI-N7V7UFT-NYG4RQC"; }; 18 + "emerald" = { id = "INKFIAW-55AWZP4-WSXYO7Z-YU2GBBU-QHYZMOD-YEZOHAI-N7V7UFT-NYG4RQC"; }; 19 19 }; 20 20 21 21 folders = { 22 22 "Obsidian" = { 23 23 id = "obsidian-vaults-current"; 24 24 path = "/mnt/Vaults/Current"; 25 - devices = ["Bismuth" "Emerald"]; 25 + devices = ["Bismuth" "emerald"]; 26 26 }; 27 27 }; 28 28 }; 29 29 }; 30 30 }; 31 + 32 + home-manager.users.emily.wayland.windowManager.hyprland.settings.monitor = 33 + [ ",preferred,auto,auto"]; 31 34 }
-21
sys/services.nix
··· 1 - { 2 - imports = [ 3 - ./ssh.nix 4 - ]; 5 - services = { 6 - syncthing = { 7 - enable = true; 8 - openDefaultPorts = true; 9 - settings = { 10 - gui = { 11 - user = "emily"; 12 - password = "don'tfuuckingcommitthispasswordyoubsolutefool"; 13 - }; 14 - 15 - devices = { 16 - "Bismuth" = { id = "HVYM6NR-CSG4XFD-6V76ABE-TFFXKSC-Q4NWO3R-ZPGAUBP-OSMVOGD-GCASDAT"; }; 17 - }; 18 - }; 19 - }; 20 - }; 21 - }
-11
sys/ssh.nix
··· 1 - { 2 - services.openssh = { 3 - enable = true; 4 - settings.PasswordAuthentication = false; 5 - settings.KbdInteractiveAuthentication = false; 6 - }; 7 - 8 - users.users."emily".openssh.authorizedKeys.keys = [ 9 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBR3yUt3t1RB0QzRDBKtiY5P5gk+kCWr+7/cSVg2DO3" 10 - ]; 11 - }
-32
sys/virt.nix
··· 1 - { 2 - virtualisation = { 3 - 4 - docker = { 5 - enable = true; 6 - liveRestore = false; 7 - daemon.settings = { 8 - data-root = "/docker"; 9 - }; 10 - }; 11 - 12 - # Could/should probs make these their own modules too tbh 13 - oci-containers.containers = { 14 - "gitea" = { 15 - autoStart = true; 16 - image = "gitea/gitea"; 17 - ports = [ "32769:22" "32768:3000"]; 18 - environment = { 19 - #USER_UID = "1000"; 20 - #USER_GID = "1000"; 21 - USER = "git"; 22 - GITEA_CUSTOM = "/data/gitea"; 23 - }; 24 - volumes = [ 25 - "/home/volumes/gitea/data:/data" 26 - "/etc/timezone:/etc/timezone:ro" 27 - "/etc/localtime:/etc/localtime:ro" 28 - ]; 29 - }; 30 - }; 31 - }; 32 - }