all repos — char/flake @ 4bbde1e2f9ebbb04dec24857c53ffc63fa4aa3cd

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    defaultEditor = true;
48    package = unstable-pkgs.vim;
49  };
50
51  environment.shells = [ pkgs.zsh ];
52  environment.variables = {
53    EDITOR = "vim";
54    VISUAL = "vim";
55    SYSTEMD_EDITOR = "vim";
56  };
57
58  environment.systemPackages =
59    with pkgs;
60    [
61      gcc
62      binutils
63      pkg-config
64      glibc
65      gnumake
66      cmake
67      sqlite-interactive
68
69      wget
70      htop
71      tmux
72    ]
73    ++ [
74      unstable-pkgs.jujutsu
75      unstable-pkgs.vim
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}