aboutsummaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configuration.nix')
-rw-r--r--configuration.nix157
1 files changed, 157 insertions, 0 deletions
diff --git a/configuration.nix b/configuration.nix
new file mode 100644
index 0000000..f63082b
--- /dev/null
+++ b/configuration.nix
@@ -0,0 +1,157 @@
+{ 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;
+ services.pcscd.enable = true;
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ pinentryFlavor = "gtk2";
+ };
+
+ # 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? 🤨
+}
+