authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-05-05 19:05:37-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-05-05 19:05:37-07:00
log24d8eeb413b682d7ce51303b789f7c229ae2d9b6
treedf9487a57fc32d6e5ad764751df692cee4721b83
parent8cf0abc7150dd35a56f82b8fbf9fa8c529151962

reorganize "hosts/" into "users/"

the plan here is a user owns one or multiple machines: users/ +-- chloe/ | +-- home.nix # apply to all | +-- sandwich/ | | +-- configuration.nix # per machine | | +-- home.nix | +-- paperback/ | ... +-- natalie/ ...

16 files changed, 423 insertions(+), 366 deletions(-)

.DS_Store deleted
Binary files a/.DS_Store and /dev/null differ
flake.nix+4-4
...@@ -120,7 +120,7 @@...@@ -120,7 +120,7 @@
120 # natalie's desktop computer120 # natalie's desktop computer
121 nixosConfigurations.nixos = mkSystem "nixos" {121 nixosConfigurations.nixos = mkSystem "nixos" {
122 userSettings = users.nmarks;122 userSettings = users.nmarks;
123 configDir = ./hosts/desktop;123 configDir = ./hosts/natalie/desktop;
124 system = "x86_64-linux";124 system = "x86_64-linux";
125 extraModules = [125 extraModules = [
126 nixos-cosmic.nixosModules.default126 nixos-cosmic.nixosModules.default
...@@ -129,20 +129,20 @@...@@ -129,20 +129,20 @@
129 # natalie's laptop129 # natalie's laptop
130 darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {130 darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {
131 userSettings = users.nmarks;131 userSettings = users.nmarks;
132 configDir = ./hosts/laptop;132 configDir = ./hosts/natalie/laptop;
133 system = "aarch64-darwin";133 system = "aarch64-darwin";
134 };134 };
135135
136 # chloe's mac studio "sandwich"136 # chloe's mac studio "sandwich"
137 darwinConfigurations.sandwich = mkSystem "sandwich" {137 darwinConfigurations.sandwich = mkSystem "sandwich" {
138 userSettings = users.paper_clover;138 userSettings = users.paper_clover;
139 configDir = ./hosts/laptop;139 configDir = ./hosts/chloe;
140 system = "aarch64-darwin";140 system = "aarch64-darwin";
141 };141 };
142 # chloe's macbook air "paperback"142 # chloe's macbook air "paperback"
143 darwinConfigurations.paperback = mkSystem "paperback" {143 darwinConfigurations.paperback = mkSystem "paperback" {
144 userSettings = users.paper_clover;144 userSettings = users.paper_clover;
145 configDir = ./hosts/laptop;145 configDir = ./hosts/chloe;
146 system = "aarch64-darwin";146 system = "aarch64-darwin";
147 };147 };
148 };148 };
hosts/.DS_Store deleted
Binary files a/hosts/.DS_Store and /dev/null differ
hosts/desktop/configuration.nix deleted-181
...@@ -1,181 +0,0 @@
1{
2 pkgs,
3 userSettings,
4 systemSettings,
5 ...
6}: {
7 imports = [
8 # Include the results of the hardware scan.
9 ./hardware-configuration.nix
10 ];
11 programs = {
12 gamemode.enable = true;
13
14 _1password.enable = true;
15 _1password-gui = {
16 enable = true;
17 # Certain features, including CLI integration and system authentication support,
18 # require enabling PolKit integration on some desktop environments (e.g. Plasma).
19 polkitPolicyOwners = [userSettings.username];
20 };
21
22 noisetorch.enable = true;
23
24 fish.enable = true;
25 virt-manager.enable = true;
26
27 nh = {
28 enable = true;
29 # clean.enable = true;
30 # clean.extraArgs = "--keep-since 4d --keep 3";
31 flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos";
32 };
33
34 neovim = {
35 enable = true;
36 defaultEditor = true;
37 };
38
39 steam = {
40 enable = true;
41 package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
42 };
43
44 git = {
45 enable = true;
46 lfs.enable = true;
47 };
48
49 # Some programs need SUID wrappers, can be configured further or are
50 # started in user sessions.
51 mtr.enable = true;
52 gnupg.agent = {
53 enable = true;
54 enableSSHSupport = true;
55 pinentryPackage = pkgs.pinentry-curses;
56 };
57
58 kdeconnect.enable = true;
59 };
60
61 hardware.bluetooth.enable = true;
62
63 xdg.portal = {
64 enable = true;
65 extraPortals = with pkgs; [xdg-desktop-portal-gtk];
66 };
67 virtualisation = {
68 containers.enable = true;
69 podman = {
70 enable = true;
71 # dockerCompat = true;
72 };
73 docker.enable = true;
74
75 libvirtd.enable = true;
76 };
77
78 nix.settings.trusted-users = ["root" userSettings.username];
79 systemd = {
80 targets = {
81 sleep.enable = false;
82 suspend.enable = false;
83 hibernate.enable = false;
84 hybrid-sleep.enable = false;
85 };
86
87 packages = [pkgs.observatory];
88
89 services.monitord.wantedBy = ["multi-user.target"];
90 };
91
92 i18n = {
93 # Select internationalisation properties.
94 defaultLocale = "en_US.UTF-8";
95
96 supportedLocales = ["all"];
97
98 extraLocaleSettings = {
99 LC_ADDRESS = "en_US.UTF-8";
100 LC_IDENTIFICATION = "en_US.UTF-8";
101 LC_MEASUREMENT = "en_US.UTF-8";
102 LC_MONETARY = "en_US.UTF-8";
103 LC_NAME = "en_US.UTF-8";
104 LC_NUMERIC = "en_US.UTF-8";
105 LC_PAPER = "en_US.UTF-8";
106 LC_TELEPHONE = "en_US.UTF-8";
107 LC_TIME = "en_US.UTF-8";
108 };
109
110 inputMethod = {
111 type = "fcitx5";
112 enable = true;
113 fcitx5.waylandFrontend = true;
114 fcitx5.addons = with pkgs; [
115 # fcitx5-gtk
116 # kdePackages.fcitx5-qt
117 rime-data
118 fcitx5-rime
119 fcitx5-rose-pine
120 ];
121 };
122 };
123
124 # Enable sound with pipewire.
125 security.rtkit.enable = true;
126
127 # Enable touchpad support (enabled default in most desktopManager).
128 # services.xserver.libinput.enable = true;
129
130 # Define a user account. Don't forget to set a password with ‘passwd’.
131 # users.defaultUserShell = pkgs.fish;
132 users.users.${userSettings.username} = {
133 shell = pkgs.fish;
134 isNormalUser = true;
135 description = "Natalie Marks";
136 extraGroups = ["networkmanager" "wheel" "docker"];
137 # openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"];
138 packages = with pkgs; [
139 firefox
140 vim
141 steam
142
143 # thunderbird
144 ];
145 };
146 environment = {
147 sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
148 variables.EDITOR = "nvim";
149
150 systemPackages = with pkgs; [
151 vim
152 ];
153 };
154
155 networking = {
156 hostName = systemSettings.host; # Define your hostname.
157 # wireless.enable = true; # Enables wireless support via wpa_supplicant.
158 networkmanager.enable = true;
159 firewall = {
160 allowedTCPPorts = [22 80 443];
161 enable = true;
162 };
163 interfaces.enp11s0.wakeOnLan = {
164 enable = true;
165 policy = ["magic"];
166 };
167 };
168
169 # Open ports in the firewall.
170 # networking.firewall.allowedUDPPorts = [ ... ];
171 # Or disable the firewall altogether.
172 # networking.firewall.enable = false;
173
174 # This value determines the NixOS release from which the default
175 # settings for stateful data, like file locations and database versions
176 # on your system were taken. It‘s perfectly fine and recommended to leave
177 # this value at the release version of the first install of this system.
178 # Before changing this value read the documentation for this option
179 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
180 system.stateVersion = "23.05"; # Did you read the comment?
181}
hosts/desktop/hardware-configuration.nix deleted-52
...@@ -1,52 +0,0 @@
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{
5 config,
6 lib,
7 pkgs,
8 modulesPath,
9 ...
10}: {
11 imports = [
12 (modulesPath + "/installer/scan/not-detected.nix")
13 ];
14
15 boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "sd_mod"];
16 boot.initrd.kernelModules = [];
17 boot.kernelModules = ["kvm-amd"];
18 boot.extraModulePackages = [];
19
20 fileSystems."/" = {
21 device = "/dev/disk/by-uuid/5838d50d-e6e8-4ad2-a25e-524f4c46da35";
22 fsType = "ext4";
23 };
24
25 fileSystems."/boot/efi" = {
26 device = "/dev/disk/by-uuid/2319-EE79";
27 fsType = "vfat";
28 options = ["fmask=0022" "dmask=0022"];
29 };
30
31 fileSystems."/home/nmarks/Games/steam" = {
32 device = "/dev/disk/by-uuid/e7ac46ce-edcb-4763-8717-a7c67de5c7f3";
33 fsType = "ext4";
34 };
35
36 swapDevices = [
37 {device = "/dev/disk/by-uuid/a4128bb9-239c-4aa9-9777-5067feb77b28";}
38 ];
39
40 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
41 # (the default) this is the recommended approach. When using systemd-networkd it's
42 # still possible to use this option, but it's recommended to use it in conjunction
43 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
44 networking.useDHCP = lib.mkDefault true;
45 # networking.interfaces.docker0.useDHCP = lib.mkDefault true;
46 # networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
47 # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
48 # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
49
50 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
51 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
52}
hosts/desktop/home.nix deleted-72
...@@ -1,72 +0,0 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}: let
10 shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
11in {
12 imports = [
13 inputs.nixvim.homeManagerModules.nixvim
14 #set up nixvim
15 # ../../modules/nixvim
16 ];
17 home = {
18 stateVersion = "23.05"; # Please read the comment before changing.
19
20 packages = with pkgs; let
21 shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;};
22 in
23 shared-packages
24 ++ [
25 #building macos apps hard :(
26 ghostty
27 stremio
28 julia
29 qbittorrent
30
31 #gaming
32 bottles
33 lutris
34 mangohud
35 dxvk_2
36 steam-run
37 vulkan-tools
38 path-of-building
39 wineWowPackages.stable
40 winetricks
41 (prismlauncher.override {gamemodeSupport = true;})
42
43 #window manager stuff
44 wofi
45 xorg.xauth
46 #linux tools
47 legcord
48 pavucontrol
49 ethtool
50 grub2
51 efibootmgr
52 distrobox
53 xdg-desktop-portal-gtk
54 xclip
55 kdePackages.dolphin
56 #broken on macos
57 calibre
58 mpv
59 wireguard-tools
60 signal-desktop
61 ]
62 ++ [
63 inputs.zls.packages.x86_64-linux.zls
64 rust-bin.stable.latest.default
65 ];
66 # programs.mangohud.enable = true;
67 };
68
69 programs = shared-programs;
70
71 # xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
72}
hosts/laptop/.DS_Store deleted
Binary files a/hosts/laptop/.DS_Store and /dev/null differ
hosts/laptop/configuration.nix deleted-28
...@@ -1,28 +0,0 @@
1{
2 pkgs,
3 userSettings,
4 ...
5}: {
6 environment.systemPackages = with pkgs; [
7 neovim
8 pinentry_mac
9 signal-desktop-bin
10 ];
11
12 # Create /etc/zshrc that loads the nix-darwin environment.
13 programs = {
14 gnupg.agent.enable = true;
15 zsh.enable = true; # default shell on catalina
16 };
17
18 # When opening an interactive shell that isnt fish move into fish
19 programs.zsh = {
20 interactiveShellInit = ''
21 if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]
22 then
23 [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION=""
24 exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
25 fi
26 '';
27 };
28}
hosts/laptop/home.nix deleted-29
...@@ -1,29 +0,0 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}: {
10 imports = [
11 inputs.nixvim.homeManagerModules.nixvim
12 #set up nixvim
13 # ../../modules/nixvim
14 ];
15 programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
16
17 home = {
18 inherit (userSettings) username;
19 # homeDirectory = systemSettings.homeConfig;
20 # shell = pkgs.fish;
21 stateVersion = "23.05"; # Please read the comment before changing.
22
23 packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;};
24
25 sessionPath = [
26 "$HOME/.emacs.d/bin"
27 ];
28 };
29}
users/chloe/configuration.nix created+28
...@@ -0,0 +1,28 @@
1{
2 pkgs,
3 userSettings,
4 ...
5}: {
6 environment.systemPackages = with pkgs; [
7 neovim
8 pinentry_mac
9 signal-desktop-bin
10 ];
11
12 # Create /etc/zshrc that loads the nix-darwin environment.
13 programs = {
14 gnupg.agent.enable = true;
15 zsh.enable = true; # default shell on catalina
16 };
17
18 # When opening an interactive shell that isnt fish move into fish
19 programs.zsh = {
20 interactiveShellInit = ''
21 if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]
22 then
23 [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION=""
24 exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
25 fi
26 '';
27 };
28}
users/chloe/home.nix created+29
...@@ -0,0 +1,29 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}: {
10 imports = [
11 inputs.nixvim.homeManagerModules.nixvim
12 #set up nixvim
13 # ../../modules/nixvim
14 ];
15 programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
16
17 home = {
18 inherit (userSettings) username;
19 # homeDirectory = systemSettings.homeConfig;
20 # shell = pkgs.fish;
21 stateVersion = "23.05"; # Please read the comment before changing.
22
23 packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;};
24
25 sessionPath = [
26 "$HOME/.emacs.d/bin"
27 ];
28 };
29}
users/natalie/desktop/configuration.nix created+181
...@@ -0,0 +1,181 @@
1{
2 pkgs,
3 userSettings,
4 systemSettings,
5 ...
6}: {
7 imports = [
8 # Include the results of the hardware scan.
9 ./hardware-configuration.nix
10 ];
11 programs = {
12 gamemode.enable = true;
13
14 _1password.enable = true;
15 _1password-gui = {
16 enable = true;
17 # Certain features, including CLI integration and system authentication support,
18 # require enabling PolKit integration on some desktop environments (e.g. Plasma).
19 polkitPolicyOwners = [userSettings.username];
20 };
21
22 noisetorch.enable = true;
23
24 fish.enable = true;
25 virt-manager.enable = true;
26
27 nh = {
28 enable = true;
29 # clean.enable = true;
30 # clean.extraArgs = "--keep-since 4d --keep 3";
31 flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos";
32 };
33
34 neovim = {
35 enable = true;
36 defaultEditor = true;
37 };
38
39 steam = {
40 enable = true;
41 package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
42 };
43
44 git = {
45 enable = true;
46 lfs.enable = true;
47 };
48
49 # Some programs need SUID wrappers, can be configured further or are
50 # started in user sessions.
51 mtr.enable = true;
52 gnupg.agent = {
53 enable = true;
54 enableSSHSupport = true;
55 pinentryPackage = pkgs.pinentry-curses;
56 };
57
58 kdeconnect.enable = true;
59 };
60
61 hardware.bluetooth.enable = true;
62
63 xdg.portal = {
64 enable = true;
65 extraPortals = with pkgs; [xdg-desktop-portal-gtk];
66 };
67 virtualisation = {
68 containers.enable = true;
69 podman = {
70 enable = true;
71 # dockerCompat = true;
72 };
73 docker.enable = true;
74
75 libvirtd.enable = true;
76 };
77
78 nix.settings.trusted-users = ["root" userSettings.username];
79 systemd = {
80 targets = {
81 sleep.enable = false;
82 suspend.enable = false;
83 hibernate.enable = false;
84 hybrid-sleep.enable = false;
85 };
86
87 packages = [pkgs.observatory];
88
89 services.monitord.wantedBy = ["multi-user.target"];
90 };
91
92 i18n = {
93 # Select internationalisation properties.
94 defaultLocale = "en_US.UTF-8";
95
96 supportedLocales = ["all"];
97
98 extraLocaleSettings = {
99 LC_ADDRESS = "en_US.UTF-8";
100 LC_IDENTIFICATION = "en_US.UTF-8";
101 LC_MEASUREMENT = "en_US.UTF-8";
102 LC_MONETARY = "en_US.UTF-8";
103 LC_NAME = "en_US.UTF-8";
104 LC_NUMERIC = "en_US.UTF-8";
105 LC_PAPER = "en_US.UTF-8";
106 LC_TELEPHONE = "en_US.UTF-8";
107 LC_TIME = "en_US.UTF-8";
108 };
109
110 inputMethod = {
111 type = "fcitx5";
112 enable = true;
113 fcitx5.waylandFrontend = true;
114 fcitx5.addons = with pkgs; [
115 # fcitx5-gtk
116 # kdePackages.fcitx5-qt
117 rime-data
118 fcitx5-rime
119 fcitx5-rose-pine
120 ];
121 };
122 };
123
124 # Enable sound with pipewire.
125 security.rtkit.enable = true;
126
127 # Enable touchpad support (enabled default in most desktopManager).
128 # services.xserver.libinput.enable = true;
129
130 # Define a user account. Don't forget to set a password with ‘passwd’.
131 # users.defaultUserShell = pkgs.fish;
132 users.users.${userSettings.username} = {
133 shell = pkgs.fish;
134 isNormalUser = true;
135 description = "Natalie Marks";
136 extraGroups = ["networkmanager" "wheel" "docker"];
137 # openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"];
138 packages = with pkgs; [
139 firefox
140 vim
141 steam
142
143 # thunderbird
144 ];
145 };
146 environment = {
147 sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
148 variables.EDITOR = "nvim";
149
150 systemPackages = with pkgs; [
151 vim
152 ];
153 };
154
155 networking = {
156 hostName = systemSettings.host; # Define your hostname.
157 # wireless.enable = true; # Enables wireless support via wpa_supplicant.
158 networkmanager.enable = true;
159 firewall = {
160 allowedTCPPorts = [22 80 443];
161 enable = true;
162 };
163 interfaces.enp11s0.wakeOnLan = {
164 enable = true;
165 policy = ["magic"];
166 };
167 };
168
169 # Open ports in the firewall.
170 # networking.firewall.allowedUDPPorts = [ ... ];
171 # Or disable the firewall altogether.
172 # networking.firewall.enable = false;
173
174 # This value determines the NixOS release from which the default
175 # settings for stateful data, like file locations and database versions
176 # on your system were taken. It‘s perfectly fine and recommended to leave
177 # this value at the release version of the first install of this system.
178 # Before changing this value read the documentation for this option
179 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
180 system.stateVersion = "23.05"; # Did you read the comment?
181}
users/natalie/desktop/hardware-configuration.nix created+52
...@@ -0,0 +1,52 @@
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{
5 config,
6 lib,
7 pkgs,
8 modulesPath,
9 ...
10}: {
11 imports = [
12 (modulesPath + "/installer/scan/not-detected.nix")
13 ];
14
15 boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "sd_mod"];
16 boot.initrd.kernelModules = [];
17 boot.kernelModules = ["kvm-amd"];
18 boot.extraModulePackages = [];
19
20 fileSystems."/" = {
21 device = "/dev/disk/by-uuid/5838d50d-e6e8-4ad2-a25e-524f4c46da35";
22 fsType = "ext4";
23 };
24
25 fileSystems."/boot/efi" = {
26 device = "/dev/disk/by-uuid/2319-EE79";
27 fsType = "vfat";
28 options = ["fmask=0022" "dmask=0022"];
29 };
30
31 fileSystems."/home/nmarks/Games/steam" = {
32 device = "/dev/disk/by-uuid/e7ac46ce-edcb-4763-8717-a7c67de5c7f3";
33 fsType = "ext4";
34 };
35
36 swapDevices = [
37 {device = "/dev/disk/by-uuid/a4128bb9-239c-4aa9-9777-5067feb77b28";}
38 ];
39
40 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
41 # (the default) this is the recommended approach. When using systemd-networkd it's
42 # still possible to use this option, but it's recommended to use it in conjunction
43 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
44 networking.useDHCP = lib.mkDefault true;
45 # networking.interfaces.docker0.useDHCP = lib.mkDefault true;
46 # networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
47 # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
48 # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
49
50 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
51 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
52}
users/natalie/desktop/home.nix created+72
...@@ -0,0 +1,72 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}: let
10 shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
11in {
12 imports = [
13 inputs.nixvim.homeManagerModules.nixvim
14 #set up nixvim
15 # ../../modules/nixvim
16 ];
17 home = {
18 stateVersion = "23.05"; # Please read the comment before changing.
19
20 packages = with pkgs; let
21 shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;};
22 in
23 shared-packages
24 ++ [
25 #building macos apps hard :(
26 ghostty
27 stremio
28 julia
29 qbittorrent
30
31 #gaming
32 bottles
33 lutris
34 mangohud
35 dxvk_2
36 steam-run
37 vulkan-tools
38 path-of-building
39 wineWowPackages.stable
40 winetricks
41 (prismlauncher.override {gamemodeSupport = true;})
42
43 #window manager stuff
44 wofi
45 xorg.xauth
46 #linux tools
47 legcord
48 pavucontrol
49 ethtool
50 grub2
51 efibootmgr
52 distrobox
53 xdg-desktop-portal-gtk
54 xclip
55 kdePackages.dolphin
56 #broken on macos
57 calibre
58 mpv
59 wireguard-tools
60 signal-desktop
61 ]
62 ++ [
63 inputs.zls.packages.x86_64-linux.zls
64 rust-bin.stable.latest.default
65 ];
66 # programs.mangohud.enable = true;
67 };
68
69 programs = shared-programs;
70
71 # xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
72}
users/natalie/laptop/configuration.nix created+28
...@@ -0,0 +1,28 @@
1{
2 pkgs,
3 userSettings,
4 ...
5}: {
6 environment.systemPackages = with pkgs; [
7 neovim
8 pinentry_mac
9 signal-desktop-bin
10 ];
11
12 # Create /etc/zshrc that loads the nix-darwin environment.
13 programs = {
14 gnupg.agent.enable = true;
15 zsh.enable = true; # default shell on catalina
16 };
17
18 # When opening an interactive shell that isnt fish move into fish
19 programs.zsh = {
20 interactiveShellInit = ''
21 if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]
22 then
23 [[ -o login ]] && LOGIN_OPTION='--login' || LOGIN_OPTION=""
24 exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
25 fi
26 '';
27 };
28}
users/natalie/laptop/home.nix created+29
...@@ -0,0 +1,29 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}: {
10 imports = [
11 inputs.nixvim.homeManagerModules.nixvim
12 #set up nixvim
13 # ../../modules/nixvim
14 ];
15 programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
16
17 home = {
18 inherit (userSettings) username;
19 # homeDirectory = systemSettings.homeConfig;
20 # shell = pkgs.fish;
21 stateVersion = "23.05"; # Please read the comment before changing.
22
23 packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;};
24
25 sessionPath = [
26 "$HOME/.emacs.d/bin"
27 ];
28 };
29}