aboutsummaryrefslogtreecommitdiff
path: root/util/configuration.nix
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2024-05-10 19:48:45 -0700
committerCaroline Larimore <caroline@larimo.re>2024-05-10 19:48:45 -0700
commit6eda4acc251fed0afbf5f1a85a63e321d8234799 (patch)
tree0be125628339545e8a11cd29a994271bc16f55b3 /util/configuration.nix
Initial Commit
Diffstat (limited to 'util/configuration.nix')
-rw-r--r--util/configuration.nix155
1 files changed, 155 insertions, 0 deletions
diff --git a/util/configuration.nix b/util/configuration.nix
new file mode 100644
index 0000000..12def3b
--- /dev/null
+++ b/util/configuration.nix
@@ -0,0 +1,155 @@
+{ config, lib, pkgs, inputs, ... }:
+
+{
+ imports = [
+ ./hardware-configuration.nix
+ ./modules
+ ];
+
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+
+ fileSystems."/persist".neededForBoot = true;
+ environment.persistence."/persist/system" = {
+ hideMounts = true;
+ directories = [
+ "/etc/nixos"
+ "/var/log"
+ "/var/lib/nixos"
+ #"/var/lib/bluetooth"
+ "/var/lib/systemd/coredump"
+ #"/etc/NetworkManager/system-connections"
+ ];
+ files = [
+ "/etc/machine-id"
+ # { file = "/var/keys/secret_file"; parentDirectory = { mode = "u=rwx,g=,o="; }; }
+ ];
+ };
+
+ programs.fuse.userAllowOther = true;
+ home-manager = {
+ extraSpecialArgs = { inherit inputs; };
+ users = {
+ "c" = import ./home.nix;
+ };
+ };
+
+ environment = {
+ localBinInPath = true;
+
+ interactiveShellInit = ''
+# (cat ~/.cache/wal/sequences &)
+# source ~/.cache/wal/colors-tty.sh
+
+ alias toys="nix-shell -p cmatrix asciiquarium pipes cowsay figlet neofetch"
+
+ alias c="codium ."
+
+ alias p="nix-shell -p"
+ alias rb="sudo nixos-rebuild switch --flake /etc/nixos#default"
+
+ alias lsa="ls -lAsh"
+ mkcd() {
+ mkdir -p "$1"
+ cd "$1"
+ }
+ '';
+ };
+
+ time.timeZone = "America/Los_Angeles";
+
+ # Select internationalisation properties.
+ # i18n.defaultLocale = "en_US.UTF-8";
+ # console = {
+ # font = "Lat2-Terminus16";
+ # keyMap = "us";
+ # useXkbConfig = true; # use xkb.options in tty.
+ # };
+
+ # Enable CUPS to print documents.
+ # services.printing.enable = true;
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ # services.xserver.libinput.enable = true;
+
+ users.users = {
+ root.hashedPasswordFile = "/persist/passwords/root";
+
+ "c" = {
+ isNormalUser = true;
+ hashedPasswordFile = "/persist/passwords/c";
+ extraGroups = [ "wheel" ];
+ };
+ };
+
+ # List packages installed in system profile.
+
+ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+ "steam"
+ "steam-original"
+ "steam-run"
+ ];
+
+ environment.systemPackages = with pkgs; [
+ git
+ vim
+ wget
+ firefox
+ wineWowPackages.stable
+ #wine
+ winetricks
+
+ pulseaudio
+ playerctl
+
+ ffmpeg
+ jellyfin
+
+ killall
+
+ go
+ jdk21
+
+ lutris
+ libGL
+ ];
+
+ programs.steam.enable = true;
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
+
+ # List services that you want to enable:
+
+ # Enable the OpenSSH daemon.
+ # services.openssh.enable = true;
+
+ # 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;
+
+
+ # 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.
+ #
+ # 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 = "23.11"; # Did you read the comment? 🤨
+}
+