|
0
|
1 { config, lib, pkgs, ... }: |
|
|
2 { |
|
|
3 imports = |
|
|
4 [ |
|
|
5 ./hardware-configuration.nix |
|
|
6 ]; |
|
|
7 |
|
|
8 boot.loader.systemd-boot.enable = true; |
|
|
9 boot.loader.efi.canTouchEfiVariables = true; |
|
|
10 |
|
|
11 boot.kernelPackages = pkgs.linuxPackages_latest; |
|
|
12 |
|
|
13 networking.hostName = "nixos-btw"; |
|
|
14 |
|
|
15 networking.networkmanager.enable = true; |
|
|
16 |
|
|
17 time.timeZone = "America/Chicago"; |
|
|
18 |
|
|
19 |
|
|
20 services.displayManager.ly.enable = true; |
|
|
21 services.xserver = { |
|
|
22 enable = true; |
|
|
23 autoRepeatDelay = 200; |
|
|
24 autoRepeatInterval = 35; |
|
|
25 displayManager.sessionCommands = '' |
|
2
|
26 export XCURSOR_THEME=macOS |
|
|
27 export XCURSOR_SIZE=24 |
|
|
28 xwallpaper --zoom /home/ivy/wall.png |
|
|
29 ${pkgs.callPackage ./modules/dwmbar.nix { }}/bin/dwmbar & |
|
|
30 xset r rate 200 35 |
|
|
31 xrdb -merge /home/ivy/.Xresources |
|
0
|
32 ''; |
|
|
33 windowManager.dwm = { |
|
|
34 enable = true; |
|
|
35 package = pkgs.dwm.overrideAttrs { |
|
|
36 src = ./config/dwm; |
|
|
37 }; |
|
|
38 }; |
|
|
39 }; |
|
|
40 |
|
2
|
41 virtualisation.libvirtd.enable = true; |
|
|
42 programs.virt-manager.enable = true; |
|
0
|
43 services.picom.enable = true; |
|
|
44 |
|
|
45 services.pipewire = { |
|
|
46 enable = true; |
|
|
47 pulse.enable = true; |
|
|
48 }; |
|
|
49 services.syncthing = { |
|
|
50 enable = true; |
|
|
51 user = "ivy"; |
|
|
52 dataDir = "/home/ivy"; |
|
|
53 configDir = "/home/ivy/.config/syncthing"; |
|
|
54 openDefaultPorts = true; |
|
|
55 }; |
|
|
56 |
|
|
57 services.libinput.enable = true; |
|
|
58 |
|
|
59 users.users.ivy = { |
|
|
60 isNormalUser = true; |
|
2
|
61 extraGroups = [ "wheel" "libvirtd" ]; |
|
0
|
62 shell = pkgs.zsh; |
|
|
63 packages = with pkgs; [ |
|
|
64 tree |
|
|
65 ]; |
|
|
66 }; |
|
|
67 |
|
|
68 |
|
|
69 environment.systemPackages = with pkgs; [ |
|
|
70 vim |
|
|
71 wget |
|
|
72 alacritty |
|
|
73 git |
|
|
74 fastfetch |
|
|
75 hyfetch |
|
|
76 xwallpaper |
|
|
77 maim |
|
|
78 slop |
|
|
79 mercurial |
|
2
|
80 dnsmasq |
|
0
|
81 ]; |
|
|
82 |
|
|
83 programs.zsh.enable = true; |
|
|
84 fonts.packages = with pkgs; [ |
|
|
85 nerd-fonts.jetbrains-mono |
|
2
|
86 nerd-fonts.iosevka |
|
0
|
87 ]; |
|
|
88 |
|
|
89 |
|
|
90 nix.settings.experimental-features = [ "nix-command" "flakes" ]; |
|
2
|
91 # for linux phone dev |
|
|
92 systemd.network.enable = true; |
|
|
93 |
|
|
94 # stable name no matter which USB port you use |
|
|
95 systemd.network.links."10-phone" = { |
|
|
96 matchConfig.Driver = "cdc_ether"; |
|
|
97 linkConfig.Name = "phone0"; |
|
|
98 }; |
|
|
99 |
|
|
100 systemd.network.networks."10-phone" = { |
|
|
101 matchConfig.Name = "phone0"; |
|
|
102 address = [ "172.16.42.2/24" ]; |
|
|
103 linkConfig.RequiredForOnline = "no"; |
|
|
104 # optional: share the laptop's internet with the phone over USB |
|
|
105 networkConfig.IPMasquerade = "ipv4"; |
|
|
106 }; |
|
|
107 |
|
|
108 # keep NetworkManager's hands off it |
|
|
109 networking.networkmanager.unmanaged = [ "interface-name:phone0" ]; |
|
|
110 |
|
|
111 # let the phone reach services on the laptop |
|
|
112 networking.firewall.trustedInterfaces = [ "phone0" ]; |
|
|
113 |
|
|
114 # ssh root@phone |
|
|
115 networking.hosts."172.16.42.1" = [ "phone" ]; |
|
0
|
116 |
|
|
117 |
|
|
118 system.stateVersion = "26.05"; |
|
|
119 |
|
|
120 } |
|
|
121 |