From 390d23083905e9cd26ea44393422630ffe99c9a5 Mon Sep 17 00:00:00 2001 From: stefan Date: Mon, 3 Mar 2025 21:34:53 -0500 Subject: getting started with multi-system support --- form/configuration.nix | 109 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 form/configuration.nix (limited to 'form/configuration.nix') diff --git a/form/configuration.nix b/form/configuration.nix new file mode 100644 index 0000000..d78bcd9 --- /dev/null +++ b/form/configuration.nix @@ -0,0 +1,109 @@ +{ config, lib, pkgs, inputs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.consoleMode = "max"; + boot.loader.efi.canTouchEfiVariables = true; + + nixpkgs.config.allowUnfree = true; + + networking.hostName = "form"; + + networking.networkmanager.enable = true; + + time.timeZone = "America/New_York"; + + console = { + useXkbConfig = true; # use xkb.options in tty. + }; + + services.xserver.xkb.layout = "us"; + services.xserver.xkb.variant = "colemak_dh"; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + wireplumber.enable = true; + pulse.enable = true; + }; + + services.libinput.enable = true; + + programs.zsh = { + enable = true; + ohMyZsh = { + enable = true; + }; + }; + + users.users.stefan = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + tree + ]; + shell = pkgs.zsh; + }; + + #programs.firefox.enable = true; + programs.foot.enable = true; + programs.sway.enable = true; + security.polkit.enable = true; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'sway --unsupported-gpu'"; + user = "greeter"; + }; + }; + }; + + environment.systemPackages = with pkgs; [ + zsh + neovim + wl-clipboard + wmenu + ]; + + environment.pathsToLink = [ "/share/zsh" ]; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + hardware.graphics.enable = true; + services.xserver.videoDrivers = ["nvidia"]; + hardware.nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + + nix = { + settings.experimental-features = [ "nix-command" "flakes" ]; + }; + + system.stateVersion = "24.11"; +} + -- cgit v1.2.3