diff --git a/hosts/marty-latitude/custom.nix b/hosts/marty-latitude/custom.nix deleted file mode 100644 index 0520a60..0000000 --- a/hosts/marty-latitude/custom.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - config, - pkgs, - inputs, - ... -}: - -let - domain = "http://marty-server"; - netname = "tamatas-upcycling"; - ipv4host = "192.168.101.10"; - ipv4local = "192.168.101.11"; - ipv6host = "fc00::101:1"; - ipv6local = "fc00::101:2"; - porthost1 = 9001; - portlocal1 = 80; - -in - -{ - - networking = { - hosts = { - ipv4local = [ netname ]; - ipv6local = [ netname ]; - }; - }; - - containers.tamatas-upcycling = { - autoStart = true; - privateNetwork = true; - hostAddress = ipv4host; - localAddress = ipv4local; - hostAddress6 = ipv6host; - localAddress6 = ipv6local; - forwardPorts = [ - { - hostPort = porthost1; - containerPort = portlocal1; - } - ]; - bindMounts = { - }; - - config = - { - config, - pkgs, - lib, - ... - }: - { - - users = { - users = { - marty = { - group = "users"; - isSystemUser = true; - }; - }; - groups = { - users = { }; - }; - }; - - services = { - wordpress.sites."tamatas-upcycling.de" = { - languages = [ pkgs.wordpressPackages.languages.de_DE ]; - settings = { - WPLANG = "de_DE"; - WP_SITEURL = domain; - WP_HOME = domain; - }; - }; - phpfpm.pools."wordpress-tamatas-upcycling.de".phpOptions = '' - upload_max_filesize=1G - post_max_size=1G - ''; - resolved.enable = true; - }; - - networking = { - firewall = { - enable = true; - allowedTCPPorts = [ portlocal1 ]; - }; - useHostResolvConf = lib.mkForce false; - }; - - system.stateVersion = "25.05"; - }; - }; -} diff --git a/hosts/marty-latitude/default.nix b/hosts/marty-latitude/default.nix index c7725bb..e963b18 100644 --- a/hosts/marty-latitude/default.nix +++ b/hosts/marty-latitude/default.nix @@ -2,26 +2,38 @@ config, lib, pkgs, - modulesPath, home-manager, inputs, ... }: { + networking = { + hostName = "marty-latitude"; + }; + home-manager = { extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; users = { - "${config.user.userName}" = import ./home.nix; + marty = import ./home.nix; }; }; + main-user = { + userName = "marty"; + shell = pkgs.fish; + }; + imports = [ ./hardware.nix - ./custom.nix - ./options.nix + # ../../modules/server/nginx.nix ]; + + programs = { + light.enable = true; + }; + services.flatpak.enable = true; system.stateVersion = "25.11"; # Did you read the comment? } diff --git a/hosts/marty-latitude/home.nix b/hosts/marty-latitude/home.nix index a4a37ec..9f4b4ab 100644 --- a/hosts/marty-latitude/home.nix +++ b/hosts/marty-latitude/home.nix @@ -3,18 +3,94 @@ pkgs, inputs, lib, - osConfig, ... }: { + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "marty"; + home.homeDirectory = "/home/marty"; - home.username = osConfig.user.userName; - home.homeDirectory = "/home/${osConfig.user.userName}"; - home.stateVersion = "25.11"; + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "25.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + + programs.fish.enable = true; + + home.packages = with pkgs; [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. These will be explicitly sourced when using a + # shell provided by Home Manager. If you don't want to manage your shell + # through Home Manager then you have to manually source 'hm-session-vars.sh' + # located at either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/marty/etc/profile.d/hm-session-vars.sh + # + + device.type.laptop = true; + + desktop.hyprland = { + monitors = [ + "desc:InfoVision Optoelectronics (Kunshan) Co.Ltd China 0x057E, 1366x768@60,0x0,1" + ]; + }; imports = [ - ./../../home + inputs.walker.homeManagerModules.default + inputs.noctalia.homeModules.default + ./../../modules + ]; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; } diff --git a/hosts/marty-latitude/options.nix b/hosts/marty-latitude/options.nix deleted file mode 100644 index 75cbc6c..0000000 --- a/hosts/marty-latitude/options.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: - -{ - imports = [ - ../../modules/device/server.nix - ]; - config = { - user = { - userName = "marty"; - shell = pkgs.fish; - }; - system = { - timezone = "Europe/Berlin"; - language = "en_GB.UTF-8"; - locale = "de_DE.UTF-8"; - hostname = "marty-server"; - }; - apps = { - audio = { - base.enable = true; - media.enable = false; - editing.enable = false; - }; - development = { - editor = { - vscodium.enable = false; - emacs.enable = true; - default = "emacs"; - }; - languages = { - python.enable = true; - }; - godot.enable = false; - }; - gaming = { - enable = true; - steam.enable = false; - minecraft.enable = false; - }; - image = { - base.enable = true; - editing.enable = false; - }; - internet = { - browsers = { - zen-browser.enable = false; - tor-browser.enable = false; - default = "lynx"; - }; - mail = { - enable = false; - providers = { - protonmail.enable = true; - }; - }; - }; - messaging = { - signal.enable = false; - element = { - enable = false; - selfhosted = false; - }; - }; - misc = { - obsidian.enable = false; - bitwarden.enable = false; - blender.enable = false; - }; - sync = { - kde-connect.enable = true; - nextcloud.enable = false; - syncthing = { - enable = true; - devices = { - marty-pc = { - id = "6PJZD52-EEWIO7U-MZMJJ5B-33DGNSU-O7DJVRT-GAE7QZG-ZY3VIMV-VSMBDQP"; - autoAcceptFolder = true; - }; - marty-server = { - id = "UDMXEKZ-HYIFI5S-VAKE75O-K3C65QV-LS43QA5-3JTHWKL-CI5C3Y6-P4NSQQM"; - autoAcceptFolders = true; - }; - marty-latitude = { - id = "SOAWHKA-BCQGO5G-IJ24WTO-RDETP5M-LNTVO66-MHIOUU2-NNQ57P6-FFKNSA6"; - autoAcceptFolders = true; - }; - marty-thinkpad = { - id = "NWHFQSW-FOBGFLV-YMZR77Q-KNRR3YC-4C6PKXT-TTPDCOL-CDB6QX4-3QJE2AN"; - autoAcceptFolders = true; - }; - marty-pixel = { - id = "GSBXOGW-6SYLDUQ-HPH7FBJ-CKHWQIK-K5YORB4-CYKGYT6-DLCVSAK-LA2RMAK"; - autoAcceptFolders = true; - }; - marty-fairphone = { - id = "2ISVWQV-4USY5IA-2OU55CE-Q7VLPD7-4RVQ5WX-FXQSJMY-2ES4EZG-IGFB7QG"; - autoAcceptFolders = true; - }; - }; - }; - }; - terminal = { - kitty = { - enable = true; - }; - default = "kitty"; - tui = { - ranger.enable = true; - }; - toys = true; - }; - video = { - base.enable = true; - media.enable = false; - editing.enable = false; - }; - }; - desktop = { - window-managers = { - hyprland = { - enable = false; - }; - niri = { - enable = false; - }; - sway = { - enable = false; - }; - }; - shell = { - noctalia = { - enable = false; - }; - swww = { - enable = false; - }; - walker = { - enable = false; - }; - waybar = { - enable = false; - }; - }; - utilities = { - grimblast = { - enable = false; - }; - }; - }; - server = { - synapse = { - subdomain = "yap"; - }; - }; - }; -}