diff options
| author | Christian <[email protected]> | 2026-01-01 17:25:13 -0600 |
|---|---|---|
| committer | Christian <[email protected]> | 2026-01-01 17:26:07 -0600 |
| commit | 39740c6f9a4a9ba5655fe77c0613cc86478571cb (patch) | |
| tree | a2b1e8c8ad254f20a028d2d613797790547d1205 /configuration.nix | |
Initial commit
Diffstat (limited to 'configuration.nix')
| -rw-r--r-- | configuration.nix | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..fbada29 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,112 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # networking.hostName = "nixos"; # Define your hostname. + + # Configure network connections interactively with nmcli or nmtui. + networking.networkmanager.enable = true; + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + time.timeZone = "America/Chicago"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.xserver.windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + config = builtins.readFile ./xmonad.hs; + }; + + services.xserver.displayManager.lightdm.enable = false; + + services.xserver.xkb.layout = "us"; + + + # Hyper-V setup + virtualisation.hypervGuest.enable = true; + services.xrdp.enable = true; + services.xrdp.defaultWindowManager = "xmonad"; + + systemd.services.xrdp.serviceConfig = { + # Remove the --port in the invokation of xrdp (it overwrites the option in the config) + ExecStart = lib.mkForce "${pkgs.xrdp}/bin/xrdp --nodaemon --config ${config.services.xrdp.confDir}/xrdp.ini"; + }; + + services.xrdp.extraConfDirCommands = '' + substituteInPlace $out/xrdp.ini \ + --replace-fail "port=3389" "port=vsock://-1:3389" \ + --replace-fail "#vmconnect=true" "vmconnect=true" \ + --replace-fail "security_layer=negotiate" "security_layer=rdp" \ + --replace-fail "crypt_level=high" "crypt_level=none" \ + ''; + + + # User + users.users.christian = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ ]; + }; + + + environment.systemPackages = with pkgs; [ + git + wget + alacritty + ]; + + programs.firefox.enable = true; + + programs.neovim = { + enable = true; + vimAlias = true; + viAlias = true; + defaultEditor = true; + }; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + # to actually do that. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "25.11"; # Did you read the comment? + +} + |
