me like nix
1{ pkgs, ... }:
2
3{
4
5 nix.settings.experimental-features = [
6 "nix-command"
7 "flakes"
8 ];
9
10 # Bootloader.
11 boot.loader.systemd-boot.enable = true;
12 boot.loader.efi.canTouchEfiVariables = true;
13
14 # Use latest kernel.
15 boot.kernelPackages = pkgs.linuxPackages_latest;
16
17 # Enable networking
18 networking.networkmanager.enable = true;
19
20
21 # Set your time zone.
22 # time.timeZone = "America/New_York";
23 time.timeZone = "Canada/Toronto";
24
25 # Select internationalisation properties.
26 i18n.defaultLocale = "en_US.UTF-8";
27
28 i18n.extraLocaleSettings = {
29 LC_ADDRESS = "en_US.UTF-8";
30 LC_IDENTIFICATION = "en_US.UTF-8";
31 LC_MEASUREMENT = "en_US.UTF-8";
32 LC_MONETARY = "en_US.UTF-8";
33 LC_NAME = "en_US.UTF-8";
34 LC_NUMERIC = "en_US.UTF-8";
35 LC_PAPER = "en_US.UTF-8";
36 LC_TELEPHONE = "en_US.UTF-8";
37 LC_TIME = "en_US.UTF-8";
38 };
39
40 programs.niri = {
41 enable = true;
42 package = pkgs.niri;
43 };
44
45 services.greetd = {
46 enable = true;
47 settings = {
48 default_session = {
49 command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
50 user = "greeter";
51 };
52 };
53 };
54
55 # Enable CUPS to print documents.
56 services.printing.enable = true;
57
58 security.polkit.enable = true;
59 security.rtkit.enable = true;
60 services.pipewire = {
61 enable = true;
62 alsa.enable = true;
63 alsa.support32Bit = true;
64 pulse.enable = true;
65 # If you want to use JACK applications, uncomment this
66 #jack.enable = true;
67
68 # use the example session manager (no others are packaged yet so this is enabled by default,
69 # no need to redefine it in your config for now)
70 #media-session.enable = true;
71 };
72
73
74 services.udisks2.enable = true;
75 services.tailscale.enable = true;
76
77 # Define a user account. Don't forget to set a password with ‘passwd’.
78 users.groups.storage = { };
79 users.users.sean = {
80 isNormalUser = true;
81 description = "Sean Aye";
82 extraGroups = [
83 "docker"
84 "networkmanager"
85 "wheel"
86 "video"
87 "disk"
88 "storage"
89 "input"
90 ];
91 shell = pkgs.fish;
92 };
93
94
95 programs.fish.enable = true;
96 programs._1password.enable = true;
97 programs._1password-gui = {
98 enable = true;
99 polkitPolicyOwners = [ "sean" ];
100 };
101
102 virtualisation.docker.enable = true;
103
104 # Allow unfree packages
105 nixpkgs.config.allowUnfree = true;
106
107 # List packages installed in system profile. To search, run:
108 # $ nix search wget
109 environment.systemPackages = with pkgs; [
110 wl-clipboard
111 ];
112 environment.variables = {
113 EDITOR = "hx";
114 VISUAL = "hx";
115 SUDO_EDITOR = "hx";
116 };
117}