diff options
-rw-r--r-- | flake.lock | 95 | ||||
-rw-r--r-- | flake.nix | 24 | ||||
-rw-r--r-- | home.nix | 3 | ||||
-rw-r--r-- | hosts/mantis/configuration.nix | 200 | ||||
-rw-r--r-- | hosts/mantis/hardware-configuration.nix | 40 | ||||
-rw-r--r-- | hosts/myrtle/configuration.nix | 6 | ||||
-rw-r--r-- | programs/bash.nix | 2 | ||||
-rw-r--r-- | programs/git.nix | 23 | ||||
-rw-r--r-- | programs/neovim.nix | 1 |
9 files changed, 335 insertions, 59 deletions
@@ -20,44 +20,62 @@ | |||
20 | "url": "https://git.peppe.rs/vim/better-text-objs" | 20 | "url": "https://git.peppe.rs/vim/better-text-objs" |
21 | } | 21 | } |
22 | }, | 22 | }, |
23 | "home-manager": { | 23 | "flaresolverr": { |
24 | "inputs": { | 24 | "inputs": { |
25 | "flaresolverr-src": "flaresolverr-src", | ||
25 | "nixpkgs": [ | 26 | "nixpkgs": [ |
26 | "nixpkgs" | 27 | "nixpkgs" |
27 | ] | 28 | ], |
29 | "undetected-chromedriver-src": "undetected-chromedriver-src" | ||
28 | }, | 30 | }, |
29 | "locked": { | 31 | "locked": { |
30 | "lastModified": 1701433070, | 32 | "lastModified": 1709380050, |
31 | "narHash": "sha256-Gf9JStfENaUQ7YWFz3V7x/srIwr4nlnVteqaAxtwpgM=", | 33 | "narHash": "sha256-Nwtjc3XZgr9NT8acSGt3IvaVBYRPFWFBo+xVw58eKRw=", |
32 | "owner": "nix-community", | 34 | "ref": "refs/heads/master", |
33 | "repo": "home-manager", | 35 | "rev": "6798a20e5482b574c8e02e5ff260d72ea6431a29", |
34 | "rev": "4a8545f5e737a6338814a4676dc8e18c7f43fc57", | 36 | "revCount": 1, |
37 | "type": "git", | ||
38 | "url": "https://git.peppe.rs/flakes/flaresolverr" | ||
39 | }, | ||
40 | "original": { | ||
41 | "type": "git", | ||
42 | "url": "https://git.peppe.rs/flakes/flaresolverr" | ||
43 | } | ||
44 | }, | ||
45 | "flaresolverr-src": { | ||
46 | "flake": false, | ||
47 | "locked": { | ||
48 | "lastModified": 1709156333, | ||
49 | "narHash": "sha256-pf5sibZ9Vjc98UOVTEUlKrBoXXKiykrt+szXLbNJB3k=", | ||
50 | "owner": "FlareSolverr", | ||
51 | "repo": "FlareSolverr", | ||
52 | "rev": "fd773e59097c1aca4e08edc07c1ed30164f88bd3", | ||
35 | "type": "github" | 53 | "type": "github" |
36 | }, | 54 | }, |
37 | "original": { | 55 | "original": { |
38 | "owner": "nix-community", | 56 | "owner": "FlareSolverr", |
39 | "repo": "home-manager", | 57 | "ref": "v3.3.16", |
58 | "repo": "FlareSolverr", | ||
40 | "type": "github" | 59 | "type": "github" |
41 | } | 60 | } |
42 | }, | 61 | }, |
43 | "nix-github-actions": { | 62 | "home-manager": { |
44 | "inputs": { | 63 | "inputs": { |
45 | "nixpkgs": [ | 64 | "nixpkgs": [ |
46 | "talon", | ||
47 | "nixpkgs" | 65 | "nixpkgs" |
48 | ] | 66 | ] |
49 | }, | 67 | }, |
50 | "locked": { | 68 | "locked": { |
51 | "lastModified": 1693660503, | 69 | "lastModified": 1701433070, |
52 | "narHash": "sha256-B/g2V4v6gjirFmy+I5mwB2bCYc0l3j5scVfwgl6WOl8=", | 70 | "narHash": "sha256-Gf9JStfENaUQ7YWFz3V7x/srIwr4nlnVteqaAxtwpgM=", |
53 | "owner": "nix-community", | 71 | "owner": "nix-community", |
54 | "repo": "nix-github-actions", | 72 | "repo": "home-manager", |
55 | "rev": "bd5bdbb52350e145c526108f4ef192eb8e554fa0", | 73 | "rev": "4a8545f5e737a6338814a4676dc8e18c7f43fc57", |
56 | "type": "github" | 74 | "type": "github" |
57 | }, | 75 | }, |
58 | "original": { | 76 | "original": { |
59 | "owner": "nix-community", | 77 | "owner": "nix-community", |
60 | "repo": "nix-github-actions", | 78 | "repo": "home-manager", |
61 | "type": "github" | 79 | "type": "github" |
62 | } | 80 | } |
63 | }, | 81 | }, |
@@ -78,11 +96,11 @@ | |||
78 | }, | 96 | }, |
79 | "nixpkgs": { | 97 | "nixpkgs": { |
80 | "locked": { | 98 | "locked": { |
81 | "lastModified": 1701141680, | 99 | "lastModified": 1707205916, |
82 | "narHash": "sha256-qaPcwKI0RR6mxfn4sMrHEjjDl6VCEPUTRZhN+OFB6zg=", | 100 | "narHash": "sha256-fmRJilYGlB7VCt3XsdYxrA0u8e/K84O5xYucerUY0iM=", |
83 | "owner": "NixOS", | 101 | "owner": "NixOS", |
84 | "repo": "nixpkgs", | 102 | "repo": "nixpkgs", |
85 | "rev": "4469e22700c47792f93daa882786d36f9bf8bc2a", | 103 | "rev": "8cc79aa39bbc6eaedaf286ae655b224c71e02907", |
86 | "type": "github" | 104 | "type": "github" |
87 | }, | 105 | }, |
88 | "original": { | 106 | "original": { |
@@ -92,22 +110,6 @@ | |||
92 | "type": "github" | 110 | "type": "github" |
93 | } | 111 | } |
94 | }, | 112 | }, |
95 | "nixpkgs_2": { | ||
96 | "locked": { | ||
97 | "lastModified": 1698318101, | ||
98 | "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", | ||
99 | "owner": "NixOS", | ||
100 | "repo": "nixpkgs", | ||
101 | "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", | ||
102 | "type": "github" | ||
103 | }, | ||
104 | "original": { | ||
105 | "owner": "NixOS", | ||
106 | "ref": "nixos-unstable", | ||
107 | "repo": "nixpkgs", | ||
108 | "type": "github" | ||
109 | } | ||
110 | }, | ||
111 | "prompt": { | 113 | "prompt": { |
112 | "inputs": { | 114 | "inputs": { |
113 | "nixpkgs": [ | 115 | "nixpkgs": [ |
@@ -131,30 +133,27 @@ | |||
131 | "root": { | 133 | "root": { |
132 | "inputs": { | 134 | "inputs": { |
133 | "better-text-objs": "better-text-objs", | 135 | "better-text-objs": "better-text-objs", |
136 | "flaresolverr": "flaresolverr", | ||
134 | "home-manager": "home-manager", | 137 | "home-manager": "home-manager", |
135 | "nixos-hardware": "nixos-hardware", | 138 | "nixos-hardware": "nixos-hardware", |
136 | "nixpkgs": "nixpkgs", | 139 | "nixpkgs": "nixpkgs", |
137 | "prompt": "prompt", | 140 | "prompt": "prompt", |
138 | "talon": "talon", | ||
139 | "vim-colors-plain": "vim-colors-plain" | 141 | "vim-colors-plain": "vim-colors-plain" |
140 | } | 142 | } |
141 | }, | 143 | }, |
142 | "talon": { | 144 | "undetected-chromedriver-src": { |
143 | "inputs": { | 145 | "flake": false, |
144 | "nix-github-actions": "nix-github-actions", | ||
145 | "nixpkgs": "nixpkgs_2" | ||
146 | }, | ||
147 | "locked": { | 146 | "locked": { |
148 | "lastModified": 1701208467, | 147 | "lastModified": 1708190030, |
149 | "narHash": "sha256-1xt+pieI5N1muLQ3NVuar9yl/YpkWX4/2+LPdhPC31Y=", | 148 | "narHash": "sha256-Qe+GrsUPnhjJMDgjdUCloapjj0ggFlm/Dr42WLcmb1o=", |
150 | "owner": "nix-community", | 149 | "owner": "ultrafunkamsterdam", |
151 | "repo": "talon-nix", | 150 | "repo": "undetected-chromedriver", |
152 | "rev": "75a4a73b457ccbb44229dc9a5ec97c2ca46da065", | 151 | "rev": "0aa5fbe252370b4cb2b95526add445392cad27ba", |
153 | "type": "github" | 152 | "type": "github" |
154 | }, | 153 | }, |
155 | "original": { | 154 | "original": { |
156 | "owner": "nix-community", | 155 | "owner": "ultrafunkamsterdam", |
157 | "repo": "talon-nix", | 156 | "repo": "undetected-chromedriver", |
158 | "type": "github" | 157 | "type": "github" |
159 | } | 158 | } |
160 | }, | 159 | }, |
@@ -11,8 +11,6 @@ | |||
11 | inputs.nixpkgs.follows = "nixpkgs"; | 11 | inputs.nixpkgs.follows = "nixpkgs"; |
12 | }; | 12 | }; |
13 | 13 | ||
14 | talon.url = "github:nix-community/talon-nix"; | ||
15 | |||
16 | prompt = { | 14 | prompt = { |
17 | url = "git+https://git.peppe.rs/cli/prompt"; | 15 | url = "git+https://git.peppe.rs/cli/prompt"; |
18 | inputs.nixpkgs.follows = "nixpkgs"; | 16 | inputs.nixpkgs.follows = "nixpkgs"; |
@@ -28,6 +26,11 @@ | |||
28 | inputs.nixpkgs.follows = "nixpkgs"; | 26 | inputs.nixpkgs.follows = "nixpkgs"; |
29 | }; | 27 | }; |
30 | 28 | ||
29 | flaresolverr = { | ||
30 | url = "git+https://git.peppe.rs/flakes/flaresolverr"; | ||
31 | inputs.nixpkgs.follows = "nixpkgs"; | ||
32 | }; | ||
33 | |||
31 | }; | 34 | }; |
32 | 35 | ||
33 | outputs = | 36 | outputs = |
@@ -35,11 +38,10 @@ | |||
35 | , nixpkgs | 38 | , nixpkgs |
36 | , nixos-hardware | 39 | , nixos-hardware |
37 | , home-manager | 40 | , home-manager |
38 | # , statix | ||
39 | , prompt | 41 | , prompt |
40 | , better-text-objs | 42 | , better-text-objs |
41 | , vim-colors-plain | 43 | , vim-colors-plain |
42 | , talon | 44 | , flaresolverr |
43 | , ... | 45 | , ... |
44 | } @ inputs: { | 46 | } @ inputs: { |
45 | 47 | ||
@@ -48,7 +50,7 @@ | |||
48 | prompt = prompt.overlay; | 50 | prompt = prompt.overlay; |
49 | better-text-objs = better-text-objs.overlay; | 51 | better-text-objs = better-text-objs.overlay; |
50 | vim-colors-plain = vim-colors-plain.overlay; | 52 | vim-colors-plain = vim-colors-plain.overlay; |
51 | talon = talon.overlays.default; | 53 | flaresolverr = flaresolverr.overlays.default; |
52 | }; | 54 | }; |
53 | 55 | ||
54 | nixosConfigurations = { | 56 | nixosConfigurations = { |
@@ -97,6 +99,18 @@ | |||
97 | nixos-hardware.nixosModules.asus-battery | 99 | nixos-hardware.nixosModules.asus-battery |
98 | ]; | 100 | ]; |
99 | }; | 101 | }; |
102 | |||
103 | mantis = nixpkgs.lib.nixosSystem { | ||
104 | system = "x86_64-linux"; | ||
105 | modules = [ | ||
106 | ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; }) | ||
107 | { | ||
108 | imports = [ ./hosts/mantis/configuration.nix ]; | ||
109 | _module.args.self = self; | ||
110 | } | ||
111 | ]; | ||
112 | }; | ||
113 | |||
100 | }; | 114 | }; |
101 | }; | 115 | }; |
102 | 116 | ||
@@ -36,10 +36,8 @@ | |||
36 | cmus | 36 | cmus |
37 | tree | 37 | tree |
38 | neomutt | 38 | neomutt |
39 | nodePackages.bash-language-server | ||
40 | w3m | 39 | w3m |
41 | noto-fonts-emoji | 40 | noto-fonts-emoji |
42 | urlview | ||
43 | fd | 41 | fd |
44 | du-dust | 42 | du-dust |
45 | jq | 43 | jq |
@@ -52,6 +50,7 @@ | |||
52 | httpie | 50 | httpie |
53 | thunderbird | 51 | thunderbird |
54 | calibre | 52 | calibre |
53 | gh | ||
55 | 54 | ||
56 | # gaming | 55 | # gaming |
57 | mgba | 56 | mgba |
diff --git a/hosts/mantis/configuration.nix b/hosts/mantis/configuration.nix new file mode 100644 index 0000000..8b5b489 --- /dev/null +++ b/hosts/mantis/configuration.nix | |||
@@ -0,0 +1,200 @@ | |||
1 | # Edit this configuration file to define what should be installed on | ||
2 | # your system. Help is available in the configuration.nix(5) man page, on | ||
3 | # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). | ||
4 | |||
5 | { config, lib, pkgs, self, ... }: | ||
6 | |||
7 | { | ||
8 | imports = | ||
9 | [ | ||
10 | # Include the results of the hardware scan. | ||
11 | ./hardware-configuration.nix | ||
12 | ]; | ||
13 | |||
14 | nixpkgs.overlays = with self.overlays; [ | ||
15 | flaresolverr | ||
16 | ]; | ||
17 | |||
18 | # Use the systemd-boot EFI boot loader. | ||
19 | boot.loader.systemd-boot.enable = true; | ||
20 | boot.loader.efi.canTouchEfiVariables = true; | ||
21 | |||
22 | networking.hostName = "mantis"; # Define your hostname. | ||
23 | networking.wireless.iwd.enable = true; # Enables wireless support via wpa_supplicant. | ||
24 | networking.firewall.allowedTCPPorts = [ 80 443 ]; | ||
25 | |||
26 | time.timeZone = "Europe/London"; | ||
27 | i18n.defaultLocale = "en_US.UTF-8"; | ||
28 | |||
29 | nixpkgs.config.packageOverrides = pkgs: { | ||
30 | vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; | ||
31 | }; | ||
32 | |||
33 | # Enable sound. | ||
34 | sound.enable = true; | ||
35 | hardware.pulseaudio.enable = true; | ||
36 | hardware.opengl = { | ||
37 | enable = true; | ||
38 | extraPackages = with pkgs; [ | ||
39 | intel-media-driver | ||
40 | vaapiIntel | ||
41 | vaapiVdpau | ||
42 | libvdpau-va-gl | ||
43 | intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in) | ||
44 | ]; | ||
45 | }; | ||
46 | |||
47 | # Define a user account. Don't forget to set a password with ‘passwd’. | ||
48 | users.users.op = { | ||
49 | isNormalUser = true; | ||
50 | extraGroups = [ "wheel" "tty" ]; | ||
51 | packages = with pkgs; [ ]; | ||
52 | home = "/home/op"; | ||
53 | openssh.authorizedKeys.keys = [ | ||
54 | "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILzFK/zY2ZaAftBfFPO+IJAgyD45pe0fXrpF81p8aNIl np@myrtle" | ||
55 | ]; | ||
56 | }; | ||
57 | users.groups."torrent".members = [ | ||
58 | "sonarr" | ||
59 | "radarr" | ||
60 | "bazarr" | ||
61 | "jackett" | ||
62 | "lidarr" | ||
63 | "jellyfin" | ||
64 | "transmission" | ||
65 | ]; | ||
66 | |||
67 | environment.systemPackages = with pkgs; [ | ||
68 | vim | ||
69 | wget | ||
70 | pkgs.jellyfin | ||
71 | pkgs.jellyfin-web | ||
72 | pkgs.jellyfin-ffmpeg | ||
73 | |||
74 | pkgs.htop | ||
75 | pkgs.ripgrep | ||
76 | ]; | ||
77 | |||
78 | services.openssh.enable = true; | ||
79 | services.nginx.enable = true; | ||
80 | services.tailscale.enable = true; | ||
81 | |||
82 | services.jellyfin = { | ||
83 | enable = true; | ||
84 | openFirewall = true; | ||
85 | group = "torrent"; | ||
86 | }; | ||
87 | services.nginx.virtualHosts."stream.mantis" = { | ||
88 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
89 | locations."/" = { | ||
90 | proxyPass = "http://127.0.0.1:8096"; | ||
91 | proxyWebsockets = true; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | services.transmission = { | ||
96 | enable = true; | ||
97 | openFirewall = true; | ||
98 | openRPCPort = true; | ||
99 | group = "torrent"; | ||
100 | settings = { | ||
101 | download-dir = "/torrents"; | ||
102 | incomplete-dir = "/.incomplete"; | ||
103 | rpc-bind-address = "0.0.0.0"; | ||
104 | rpc-whitelist = "127.0.0.1,10.0.0.1,192.168.*.*,100.64.*.*"; | ||
105 | }; | ||
106 | }; | ||
107 | services.nginx.virtualHosts."torrent.mantis" = { | ||
108 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
109 | locations."/" = { | ||
110 | proxyPass = "http://127.0.0.1:9091"; | ||
111 | }; | ||
112 | }; | ||
113 | |||
114 | services.sonarr = { | ||
115 | enable = true; | ||
116 | openFirewall = true; | ||
117 | group = "torrent"; | ||
118 | }; | ||
119 | services.nginx.virtualHosts."sonarr.mantis" = { | ||
120 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
121 | locations."/" = { | ||
122 | proxyPass = "http://127.0.0.1:8989"; | ||
123 | }; | ||
124 | }; | ||
125 | |||
126 | services.radarr = { | ||
127 | enable = true; | ||
128 | openFirewall = true; | ||
129 | group = "torrent"; | ||
130 | }; | ||
131 | services.nginx.virtualHosts."radarr.mantis" = { | ||
132 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
133 | locations."/" = { | ||
134 | proxyPass = "http://127.0.0.1:7878"; | ||
135 | }; | ||
136 | }; | ||
137 | |||
138 | services.bazarr = { | ||
139 | enable = true; | ||
140 | openFirewall = true; | ||
141 | group = "torrent"; | ||
142 | }; | ||
143 | services.nginx.virtualHosts."bazarr.mantis" = { | ||
144 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
145 | locations."/" = { | ||
146 | proxyPass = "http://127.0.0.1:6767"; | ||
147 | }; | ||
148 | }; | ||
149 | |||
150 | services.jackett = { | ||
151 | enable = true; | ||
152 | openFirewall = true; | ||
153 | group = "torrent"; | ||
154 | }; | ||
155 | services.nginx.virtualHosts."jackett.mantis" = { | ||
156 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
157 | locations."/" = { | ||
158 | proxyPass = "http://127.0.0.1:9117"; | ||
159 | }; | ||
160 | }; | ||
161 | |||
162 | services.lidarr = { | ||
163 | enable = true; | ||
164 | openFirewall = true; | ||
165 | group = "torrent"; | ||
166 | }; | ||
167 | services.nginx.virtualHosts."lidarr.mantis" = { | ||
168 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
169 | locations."/" = { | ||
170 | proxyPass = "http://127.0.0.1:8686"; | ||
171 | }; | ||
172 | }; | ||
173 | |||
174 | nix.settings.experimental-features = [ "nix-command" "flakes" ]; | ||
175 | |||
176 | # Copy the NixOS configuration file and link it from the resulting system | ||
177 | # (/run/current-system/configuration.nix). This is useful in case you | ||
178 | # accidentally delete configuration.nix. | ||
179 | # system.copySystemConfiguration = true; | ||
180 | |||
181 | # This option defines the first version of NixOS you have installed on this particular machine, | ||
182 | # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. | ||
183 | # | ||
184 | # Most users should NEVER change this value after the initial install, for any reason, | ||
185 | # even if you've upgraded your system to a new NixOS release. | ||
186 | # | ||
187 | # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, | ||
188 | # so changing it will NOT upgrade your system. | ||
189 | # | ||
190 | # This value being lower than the current NixOS release does NOT mean your system is | ||
191 | # out of date, out of support, or vulnerable. | ||
192 | # | ||
193 | # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, | ||
194 | # and migrated your data accordingly. | ||
195 | # | ||
196 | # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . | ||
197 | system.stateVersion = "23.11"; # Did you read the comment? | ||
198 | |||
199 | } | ||
200 | |||
diff --git a/hosts/mantis/hardware-configuration.nix b/hosts/mantis/hardware-configuration.nix new file mode 100644 index 0000000..8d7f39a --- /dev/null +++ b/hosts/mantis/hardware-configuration.nix | |||
@@ -0,0 +1,40 @@ | |||
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 | { config, lib, pkgs, modulesPath, ... }: | ||
5 | |||
6 | { | ||
7 | imports = | ||
8 | [ (modulesPath + "/installer/scan/not-detected.nix") | ||
9 | ]; | ||
10 | |||
11 | boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; | ||
12 | boot.initrd.kernelModules = [ ]; | ||
13 | boot.kernelModules = [ "kvm-intel" ]; | ||
14 | boot.extraModulePackages = [ ]; | ||
15 | |||
16 | fileSystems."/" = | ||
17 | { device = "/dev/disk/by-uuid/e3eda8a2-b5fe-4458-988c-48579a7cc6c6"; | ||
18 | fsType = "ext4"; | ||
19 | }; | ||
20 | |||
21 | fileSystems."/boot" = | ||
22 | { device = "/dev/disk/by-uuid/A170-EC57"; | ||
23 | fsType = "vfat"; | ||
24 | }; | ||
25 | |||
26 | swapDevices = | ||
27 | [ { device = "/dev/disk/by-uuid/61cb6a91-b916-40b9-b231-c04378629d90"; } | ||
28 | ]; | ||
29 | |||
30 | # Enables DHCP on each ethernet and wireless interface. In case of scripted networking | ||
31 | # (the default) this is the recommended approach. When using systemd-networkd it's | ||
32 | # still possible to use this option, but it's recommended to use it in conjunction | ||
33 | # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. | ||
34 | networking.useDHCP = lib.mkDefault true; | ||
35 | # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true; | ||
36 | # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; | ||
37 | |||
38 | nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||
39 | hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||
40 | } | ||
diff --git a/hosts/myrtle/configuration.nix b/hosts/myrtle/configuration.nix index 069425f..dd45d3b 100644 --- a/hosts/myrtle/configuration.nix +++ b/hosts/myrtle/configuration.nix | |||
@@ -53,7 +53,6 @@ | |||
53 | prompt | 53 | prompt |
54 | better-text-objs | 54 | better-text-objs |
55 | vim-colors-plain | 55 | vim-colors-plain |
56 | talon | ||
57 | ]; | 56 | ]; |
58 | 57 | ||
59 | environment = { | 58 | environment = { |
@@ -141,7 +140,7 @@ | |||
141 | services = { | 140 | services = { |
142 | xserver = { | 141 | xserver = { |
143 | enable = true; | 142 | enable = true; |
144 | layout = "us"; | 143 | xkb.layout = "us"; |
145 | videoDrivers = [ "nvidia" ]; | 144 | videoDrivers = [ "nvidia" ]; |
146 | displayManager.startx.enable = true; | 145 | displayManager.startx.enable = true; |
147 | libinput.enable = true; | 146 | libinput.enable = true; |
@@ -196,6 +195,7 @@ | |||
196 | mountOnMedia = true; | 195 | mountOnMedia = true; |
197 | }; | 196 | }; |
198 | 197 | ||
198 | tailscale.enable = true; | ||
199 | }; | 199 | }; |
200 | 200 | ||
201 | systemd.sleep.extraConfig = '' | 201 | systemd.sleep.extraConfig = '' |
@@ -249,7 +249,7 @@ | |||
249 | nix = { | 249 | nix = { |
250 | package = pkgs.nixUnstable; | 250 | package = pkgs.nixUnstable; |
251 | extraOptions = '' | 251 | extraOptions = '' |
252 | experimental-features = nix-command flakes | 252 | experimental-features = nix-command flakes repl-flake |
253 | warn-dirty = false | 253 | warn-dirty = false |
254 | keep-outputs = false | 254 | keep-outputs = false |
255 | keep-derivations = false | 255 | keep-derivations = false |
diff --git a/programs/bash.nix b/programs/bash.nix index f6f8de9..e2b825a 100644 --- a/programs/bash.nix +++ b/programs/bash.nix | |||
@@ -87,7 +87,7 @@ | |||
87 | git worktree list | \ | 87 | git worktree list | \ |
88 | fzf --min-height=15 \ | 88 | fzf --min-height=15 \ |
89 | --preview-window=up,10 \ | 89 | --preview-window=up,10 \ |
90 | --preview='git log --color=always -n10 --oneline {2}' \ | 90 | --preview='git log --color=always -n10 --decorate --oneline {2}' \ |
91 | --cycle -1 \ | 91 | --cycle -1 \ |
92 | -q "$query" | \ | 92 | -q "$query" | \ |
93 | awk '{print $1}' | 93 | awk '{print $1}' |
diff --git a/programs/git.nix b/programs/git.nix index bc312de..e4b5e0f 100644 --- a/programs/git.nix +++ b/programs/git.nix | |||
@@ -39,11 +39,34 @@ with theme; | |||
39 | }; | 39 | }; |
40 | }; | 40 | }; |
41 | }; | 41 | }; |
42 | # difftastic = { | ||
43 | # enable = true; | ||
44 | # background = "dark"; | ||
45 | # display = "inline"; | ||
46 | # }; | ||
47 | aliases = { | ||
48 | co = "checkout"; | ||
49 | rb = "rebase"; | ||
50 | }; | ||
42 | extraConfig = { | 51 | extraConfig = { |
43 | commit.verbose = true; | 52 | commit.verbose = true; |
44 | core = { | 53 | core = { |
45 | hooksPath = "/home/np/.hooks"; | 54 | hooksPath = "/home/np/.hooks"; |
46 | }; | 55 | }; |
56 | column = { | ||
57 | ui = "auto dense"; | ||
58 | status = "never"; | ||
59 | }; | ||
60 | branch.sort = "-committerdate"; | ||
61 | worktree.guessRemote = true; | ||
62 | rebase = { | ||
63 | abbreviateCommands = true; | ||
64 | stat = true; | ||
65 | }; | ||
66 | rerere = { | ||
67 | enabled = true; | ||
68 | autoUpdate = true; | ||
69 | }; | ||
47 | }; | 70 | }; |
48 | }; | 71 | }; |
49 | } | 72 | } |
diff --git a/programs/neovim.nix b/programs/neovim.nix index 0430868..08a1ada 100644 --- a/programs/neovim.nix +++ b/programs/neovim.nix | |||
@@ -14,6 +14,7 @@ | |||
14 | extraPackages = with pkgs; [ | 14 | extraPackages = with pkgs; [ |
15 | # gcc | 15 | # gcc |
16 | python311Packages.yapf | 16 | python311Packages.yapf |
17 | nodePackages.bash-language-server | ||
17 | # hlint | 18 | # hlint |
18 | # ocamlformat | 19 | # ocamlformat |
19 | ]; | 20 | ]; |