diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 140a77d1ac095724aa4222b51f02370376473033..0000000000000000000000000000000000000000 Binary files a/.DS_Store and /dev/null differ diff --git a/flake.nix b/flake.nix index faad74d984243c09a9409784177f389a9262a3a7..0bd6ce0fa17ecf94bcb4b3941be3470a4334edd0 100644 --- a/flake.nix +++ b/flake.nix @@ -120,7 +120,7 @@ # natalie's desktop computer nixosConfigurations.nixos = mkSystem "nixos" { userSettings = users.nmarks; - configDir = ./hosts/desktop; + configDir = ./hosts/natalie/desktop; system = "x86_64-linux"; extraModules = [ nixos-cosmic.nixosModules.default @@ -129,20 +129,20 @@ # natalie's laptop darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" { userSettings = users.nmarks; - configDir = ./hosts/laptop; + configDir = ./hosts/natalie/laptop; system = "aarch64-darwin"; }; # chloe's mac studio "sandwich" darwinConfigurations.sandwich = mkSystem "sandwich" { userSettings = users.paper_clover; - configDir = ./hosts/laptop; + configDir = ./hosts/chloe; system = "aarch64-darwin"; }; # chloe's macbook air "paperback" darwinConfigurations.paperback = mkSystem "paperback" { userSettings = users.paper_clover; - configDir = ./hosts/laptop; + configDir = ./hosts/chloe; system = "aarch64-darwin"; }; }; diff --git a/hosts/.DS_Store b/hosts/.DS_Store deleted file mode 100644 index 35fbfdbfc0e1e2dbaad4d81ec972ed669ba56405..0000000000000000000000000000000000000000 Binary files a/hosts/.DS_Store and /dev/null differ diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix deleted file mode 100644 index dfa4ffb938a9f85b8d8f6c7c6012ea58c250b31c..0000000000000000000000000000000000000000 --- a/hosts/desktop/configuration.nix +++ /dev/null @@ -1,181 +0,0 @@ -{ - pkgs, - userSettings, - systemSettings, - ... -}: { - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - programs = { - gamemode.enable = true; - - _1password.enable = true; - _1password-gui = { - enable = true; - # Certain features, including CLI integration and system authentication support, - # require enabling PolKit integration on some desktop environments (e.g. Plasma). - polkitPolicyOwners = [userSettings.username]; - }; - - noisetorch.enable = true; - - fish.enable = true; - virt-manager.enable = true; - - nh = { - enable = true; - # clean.enable = true; - # clean.extraArgs = "--keep-since 4d --keep 3"; - flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos"; - }; - - neovim = { - enable = true; - defaultEditor = true; - }; - - steam = { - enable = true; - package = with pkgs; steam.override {extraPkgs = pkgs: [attr];}; - }; - - git = { - enable = true; - lfs.enable = true; - }; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - mtr.enable = true; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-curses; - }; - - kdeconnect.enable = true; - }; - - hardware.bluetooth.enable = true; - - xdg.portal = { - enable = true; - extraPortals = with pkgs; [xdg-desktop-portal-gtk]; - }; - virtualisation = { - containers.enable = true; - podman = { - enable = true; - # dockerCompat = true; - }; - docker.enable = true; - - libvirtd.enable = true; - }; - - nix.settings.trusted-users = ["root" userSettings.username]; - systemd = { - targets = { - sleep.enable = false; - suspend.enable = false; - hibernate.enable = false; - hybrid-sleep.enable = false; - }; - - packages = [pkgs.observatory]; - - services.monitord.wantedBy = ["multi-user.target"]; - }; - - i18n = { - # Select internationalisation properties. - defaultLocale = "en_US.UTF-8"; - - supportedLocales = ["all"]; - - extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - - inputMethod = { - type = "fcitx5"; - enable = true; - fcitx5.waylandFrontend = true; - fcitx5.addons = with pkgs; [ - # fcitx5-gtk - # kdePackages.fcitx5-qt - rime-data - fcitx5-rime - fcitx5-rose-pine - ]; - }; - }; - - # Enable sound with pipewire. - security.rtkit.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - # users.defaultUserShell = pkgs.fish; - users.users.${userSettings.username} = { - shell = pkgs.fish; - isNormalUser = true; - description = "Natalie Marks"; - extraGroups = ["networkmanager" "wheel" "docker"]; - # openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"]; - packages = with pkgs; [ - firefox - vim - steam - - # thunderbird - ]; - }; - environment = { - sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1; - variables.EDITOR = "nvim"; - - systemPackages = with pkgs; [ - vim - ]; - }; - - networking = { - hostName = systemSettings.host; # Define your hostname. - # wireless.enable = true; # Enables wireless support via wpa_supplicant. - networkmanager.enable = true; - firewall = { - allowedTCPPorts = [22 80 443]; - enable = true; - }; - interfaces.enp11s0.wakeOnLan = { - enable = true; - policy = ["magic"]; - }; - }; - - # Open ports in the firewall. - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.05"; # Did you read the comment? -} diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix deleted file mode 100644 index 92f5c10b57826805acb6e32df721b4d4f5379b37..0000000000000000000000000000000000000000 --- a/hosts/desktop/hardware-configuration.nix +++ /dev/null @@ -1,52 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.extraModulePackages = []; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/5838d50d-e6e8-4ad2-a25e-524f4c46da35"; - fsType = "ext4"; - }; - - fileSystems."/boot/efi" = { - device = "/dev/disk/by-uuid/2319-EE79"; - fsType = "vfat"; - options = ["fmask=0022" "dmask=0022"]; - }; - - fileSystems."/home/nmarks/Games/steam" = { - device = "/dev/disk/by-uuid/e7ac46ce-edcb-4763-8717-a7c67de5c7f3"; - fsType = "ext4"; - }; - - swapDevices = [ - {device = "/dev/disk/by-uuid/a4128bb9-239c-4aa9-9777-5067feb77b28";} - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.docker0.useDHCP = lib.mkDefault true; - # networking.interfaces.enp11s0.useDHCP = lib.mkDefault true; - # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix deleted file mode 100644 index af74a4d9ffbc10eb18eb6bba7eed9b8971ddc267..0000000000000000000000000000000000000000 --- a/hosts/desktop/home.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ - inputs, - config, - pkgs, - lib, - userSettings, - systemSettings, - ... -}: let - shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; -in { - imports = [ - inputs.nixvim.homeManagerModules.nixvim - #set up nixvim - # ../../modules/nixvim - ]; - home = { - stateVersion = "23.05"; # Please read the comment before changing. - - packages = with pkgs; let - shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;}; - in - shared-packages - ++ [ - #building macos apps hard :( - ghostty - stremio - julia - qbittorrent - - #gaming - bottles - lutris - mangohud - dxvk_2 - steam-run - vulkan-tools - path-of-building - wineWowPackages.stable - winetricks - (prismlauncher.override {gamemodeSupport = true;}) - - #window manager stuff - wofi - xorg.xauth - #linux tools - legcord - pavucontrol - ethtool - grub2 - efibootmgr - distrobox - xdg-desktop-portal-gtk - xclip - kdePackages.dolphin - #broken on macos - calibre - mpv - wireguard-tools - signal-desktop - ] - ++ [ - inputs.zls.packages.x86_64-linux.zls - rust-bin.stable.latest.default - ]; - # programs.mangohud.enable = true; - }; - - programs = shared-programs; - - # xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop"; -} diff --git a/hosts/laptop/.DS_Store b/hosts/laptop/.DS_Store deleted file mode 100644 index 4be084eeb267c00f5520ddb5bd0a88f0f42b9f06..0000000000000000000000000000000000000000 Binary files a/hosts/laptop/.DS_Store and /dev/null differ diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix deleted file mode 100644 index 3208c09b726a49ded4e8b4ac71fea1dc6d9629d5..0000000000000000000000000000000000000000 --- a/hosts/laptop/configuration.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - pkgs, - userSettings, - ... -}: { - environment.systemPackages = with pkgs; [ - neovim - pinentry_mac - signal-desktop-bin - ]; - - # Create /etc/zshrc that loads the nix-darwin environment. - programs = { - gnupg.agent.enable = true; - zsh.enable = true; # default shell on catalina - }; - - # When opening an interactive shell that isnt fish move into fish - programs.zsh = { - interactiveShellInit = '' - if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]] - then - [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION="" - exec ${pkgs.fish}/bin/fish $LOGIN_OPTION - fi - ''; - }; -} diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix deleted file mode 100644 index f95fe9e7547996db1416c6ce868586dfe20fc5bf..0000000000000000000000000000000000000000 --- a/hosts/laptop/home.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - inputs, - config, - pkgs, - lib, - userSettings, - systemSettings, - ... -}: { - imports = [ - inputs.nixvim.homeManagerModules.nixvim - #set up nixvim - # ../../modules/nixvim - ]; - programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; - - home = { - inherit (userSettings) username; - # homeDirectory = systemSettings.homeConfig; - # shell = pkgs.fish; - stateVersion = "23.05"; # Please read the comment before changing. - - packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;}; - - sessionPath = [ - "$HOME/.emacs.d/bin" - ]; - }; -} diff --git a/users/chloe/configuration.nix b/users/chloe/configuration.nix new file mode 100644 index 0000000000000000000000000000000000000000..3208c09b726a49ded4e8b4ac71fea1dc6d9629d5 --- /dev/null +++ b/users/chloe/configuration.nix @@ -0,0 +1,28 @@ +{ + pkgs, + userSettings, + ... +}: { + environment.systemPackages = with pkgs; [ + neovim + pinentry_mac + signal-desktop-bin + ]; + + # Create /etc/zshrc that loads the nix-darwin environment. + programs = { + gnupg.agent.enable = true; + zsh.enable = true; # default shell on catalina + }; + + # When opening an interactive shell that isnt fish move into fish + programs.zsh = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]] + then + [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; +} diff --git a/users/chloe/home.nix b/users/chloe/home.nix new file mode 100644 index 0000000000000000000000000000000000000000..f95fe9e7547996db1416c6ce868586dfe20fc5bf --- /dev/null +++ b/users/chloe/home.nix @@ -0,0 +1,29 @@ +{ + inputs, + config, + pkgs, + lib, + userSettings, + systemSettings, + ... +}: { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + #set up nixvim + # ../../modules/nixvim + ]; + programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; + + home = { + inherit (userSettings) username; + # homeDirectory = systemSettings.homeConfig; + # shell = pkgs.fish; + stateVersion = "23.05"; # Please read the comment before changing. + + packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;}; + + sessionPath = [ + "$HOME/.emacs.d/bin" + ]; + }; +} diff --git a/users/natalie/desktop/configuration.nix b/users/natalie/desktop/configuration.nix new file mode 100644 index 0000000000000000000000000000000000000000..dfa4ffb938a9f85b8d8f6c7c6012ea58c250b31c --- /dev/null +++ b/users/natalie/desktop/configuration.nix @@ -0,0 +1,181 @@ +{ + pkgs, + userSettings, + systemSettings, + ... +}: { + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + programs = { + gamemode.enable = true; + + _1password.enable = true; + _1password-gui = { + enable = true; + # Certain features, including CLI integration and system authentication support, + # require enabling PolKit integration on some desktop environments (e.g. Plasma). + polkitPolicyOwners = [userSettings.username]; + }; + + noisetorch.enable = true; + + fish.enable = true; + virt-manager.enable = true; + + nh = { + enable = true; + # clean.enable = true; + # clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos"; + }; + + neovim = { + enable = true; + defaultEditor = true; + }; + + steam = { + enable = true; + package = with pkgs; steam.override {extraPkgs = pkgs: [attr];}; + }; + + git = { + enable = true; + lfs.enable = true; + }; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + mtr.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-curses; + }; + + kdeconnect.enable = true; + }; + + hardware.bluetooth.enable = true; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [xdg-desktop-portal-gtk]; + }; + virtualisation = { + containers.enable = true; + podman = { + enable = true; + # dockerCompat = true; + }; + docker.enable = true; + + libvirtd.enable = true; + }; + + nix.settings.trusted-users = ["root" userSettings.username]; + systemd = { + targets = { + sleep.enable = false; + suspend.enable = false; + hibernate.enable = false; + hybrid-sleep.enable = false; + }; + + packages = [pkgs.observatory]; + + services.monitord.wantedBy = ["multi-user.target"]; + }; + + i18n = { + # Select internationalisation properties. + defaultLocale = "en_US.UTF-8"; + + supportedLocales = ["all"]; + + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + + inputMethod = { + type = "fcitx5"; + enable = true; + fcitx5.waylandFrontend = true; + fcitx5.addons = with pkgs; [ + # fcitx5-gtk + # kdePackages.fcitx5-qt + rime-data + fcitx5-rime + fcitx5-rose-pine + ]; + }; + }; + + # Enable sound with pipewire. + security.rtkit.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.defaultUserShell = pkgs.fish; + users.users.${userSettings.username} = { + shell = pkgs.fish; + isNormalUser = true; + description = "Natalie Marks"; + extraGroups = ["networkmanager" "wheel" "docker"]; + # openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"]; + packages = with pkgs; [ + firefox + vim + steam + + # thunderbird + ]; + }; + environment = { + sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1; + variables.EDITOR = "nvim"; + + systemPackages = with pkgs; [ + vim + ]; + }; + + networking = { + hostName = systemSettings.host; # Define your hostname. + # wireless.enable = true; # Enables wireless support via wpa_supplicant. + networkmanager.enable = true; + firewall = { + allowedTCPPorts = [22 80 443]; + enable = true; + }; + interfaces.enp11s0.wakeOnLan = { + enable = true; + policy = ["magic"]; + }; + }; + + # Open ports in the firewall. + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "23.05"; # Did you read the comment? +} diff --git a/users/natalie/desktop/hardware-configuration.nix b/users/natalie/desktop/hardware-configuration.nix new file mode 100644 index 0000000000000000000000000000000000000000..92f5c10b57826805acb6e32df721b4d4f5379b37 --- /dev/null +++ b/users/natalie/desktop/hardware-configuration.nix @@ -0,0 +1,52 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/5838d50d-e6e8-4ad2-a25e-524f4c46da35"; + fsType = "ext4"; + }; + + fileSystems."/boot/efi" = { + device = "/dev/disk/by-uuid/2319-EE79"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + fileSystems."/home/nmarks/Games/steam" = { + device = "/dev/disk/by-uuid/e7ac46ce-edcb-4763-8717-a7c67de5c7f3"; + fsType = "ext4"; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/a4128bb9-239c-4aa9-9777-5067feb77b28";} + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.docker0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp11s0.useDHCP = lib.mkDefault true; + # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/users/natalie/desktop/home.nix b/users/natalie/desktop/home.nix new file mode 100644 index 0000000000000000000000000000000000000000..af74a4d9ffbc10eb18eb6bba7eed9b8971ddc267 --- /dev/null +++ b/users/natalie/desktop/home.nix @@ -0,0 +1,72 @@ +{ + inputs, + config, + pkgs, + lib, + userSettings, + systemSettings, + ... +}: let + shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; +in { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + #set up nixvim + # ../../modules/nixvim + ]; + home = { + stateVersion = "23.05"; # Please read the comment before changing. + + packages = with pkgs; let + shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;}; + in + shared-packages + ++ [ + #building macos apps hard :( + ghostty + stremio + julia + qbittorrent + + #gaming + bottles + lutris + mangohud + dxvk_2 + steam-run + vulkan-tools + path-of-building + wineWowPackages.stable + winetricks + (prismlauncher.override {gamemodeSupport = true;}) + + #window manager stuff + wofi + xorg.xauth + #linux tools + legcord + pavucontrol + ethtool + grub2 + efibootmgr + distrobox + xdg-desktop-portal-gtk + xclip + kdePackages.dolphin + #broken on macos + calibre + mpv + wireguard-tools + signal-desktop + ] + ++ [ + inputs.zls.packages.x86_64-linux.zls + rust-bin.stable.latest.default + ]; + # programs.mangohud.enable = true; + }; + + programs = shared-programs; + + # xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop"; +} diff --git a/users/natalie/laptop/configuration.nix b/users/natalie/laptop/configuration.nix new file mode 100644 index 0000000000000000000000000000000000000000..3208c09b726a49ded4e8b4ac71fea1dc6d9629d5 --- /dev/null +++ b/users/natalie/laptop/configuration.nix @@ -0,0 +1,28 @@ +{ + pkgs, + userSettings, + ... +}: { + environment.systemPackages = with pkgs; [ + neovim + pinentry_mac + signal-desktop-bin + ]; + + # Create /etc/zshrc that loads the nix-darwin environment. + programs = { + gnupg.agent.enable = true; + zsh.enable = true; # default shell on catalina + }; + + # When opening an interactive shell that isnt fish move into fish + programs.zsh = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]] + then + [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; +} diff --git a/users/natalie/laptop/home.nix b/users/natalie/laptop/home.nix new file mode 100644 index 0000000000000000000000000000000000000000..f95fe9e7547996db1416c6ce868586dfe20fc5bf --- /dev/null +++ b/users/natalie/laptop/home.nix @@ -0,0 +1,29 @@ +{ + inputs, + config, + pkgs, + lib, + userSettings, + systemSettings, + ... +}: { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + #set up nixvim + # ../../modules/nixvim + ]; + programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; + + home = { + inherit (userSettings) username; + # homeDirectory = systemSettings.homeConfig; + # shell = pkgs.fish; + stateVersion = "23.05"; # Please read the comment before changing. + + packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;}; + + sessionPath = [ + "$HOME/.emacs.d/bin" + ]; + }; +}