all repos — char/flake @ 8fcb2ce3a4224dd3119f778dc0302ae3cb1f4235

nixos flake

profiles/common/base.nix (view raw)

 1{ pkgs, unstable-pkgs, lib, ... }:
 2{
 3  nix = {
 4    package = unstable-pkgs.lix;
 5
 6    settings.experimental-features = [
 7      "nix-command"
 8      "flakes"
 9    ];
10    gc = {
11      automatic = true;
12      dates = "monthly";
13    };
14
15    registry.nixpkgs-unstable = {
16      from = {
17        id = "nixpkgs-unstable";
18        type = "indirect";
19      };
20      to = {
21        type = "github";
22        owner = "NixOS";
23        repo = "nixpkgs";
24        ref = "nixpkgs-unstable";
25      };
26    };
27  };
28
29  boot.loader.systemd-boot.enable = true;
30  boot.loader.efi.canTouchEfiVariables = true;
31  boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
32
33  nixpkgs.config.allowUnfree = true;
34  programs.nix-ld.enable = true;
35
36  security.sudo.wheelNeedsPassword = false;
37  services.openssh.enable = true;
38
39  services.tailscale.enable = true;
40  services.tailscale.package = unstable-pkgs.tailscale;
41
42  programs.zsh.enable = true;
43  programs.git.enable = true;
44
45  programs.vim = {
46    enable = true;
47    package = unstable-pkgs.vim;
48  };
49
50  environment.shells = [ pkgs.zsh ];
51  environment.variables = {
52    EDITOR = "hx";
53    VISUAL = "hx";
54    SYSTEMD_EDITOR = "hx";
55  };
56
57  environment.systemPackages =
58    with pkgs;
59    [
60      gcc
61      binutils
62      pkg-config
63      glibc
64      gnumake
65      cmake
66      sqlite-interactive
67
68      wget
69      htop
70      tmux
71    ]
72    ++ [
73      unstable-pkgs.jujutsu
74      unstable-pkgs.vim
75      unstable-pkgs.helix
76      unstable-pkgs.ghostty.terminfo
77    ];
78
79  environment.etc.certfile = {
80    source = "/etc/ssl/certs/ca-bundle.crt";
81    target = "ssl/cert.pem";
82  };
83}