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