|
1 |
| -# Edit this configuration file to define what should be installed on |
2 |
| -# your system. Help is available in the configuration.nix(5) man page |
3 |
| -# and in the NixOS manual (accessible by running ‘nixos-help’). |
4 |
| - |
5 |
| -{ config, pkgs, ... }: |
| 1 | +{ config, pkgs, niveumPackages, ... }: |
6 | 2 |
|
7 | 3 | {
|
8 |
| - imports = |
9 |
| - [ # Include the results of the hardware scan. |
10 |
| - ./hardware-configuration.nix |
11 |
| - ]; |
| 4 | + imports = [ |
| 5 | + ./hardware-configuration.nix |
| 6 | + ../../configs/spacetime.nix |
| 7 | + ../../configs/admin-essentials.nix |
| 8 | + ../../configs/keyboard.nix |
| 9 | + ../../configs/sound.nix |
| 10 | + ../../configs/printing.nix |
| 11 | + ../../configs/nix.nix |
| 12 | + ../../configs/flix.nix |
| 13 | + ../../configs/fonts.nix |
| 14 | + ../../configs/retiolum.nix |
| 15 | + ../../configs/sshd.nix |
| 16 | + ../../configs/sudo.nix |
| 17 | + ../../configs/zsh.nix |
| 18 | + ../../configs/tor.nix |
| 19 | + ]; |
| 20 | + |
| 21 | + age.secrets = { |
| 22 | + retiolum-rsa = { |
| 23 | + file = ../../secrets/kibbeh-retiolum-privateKey-rsa.age; |
| 24 | + mode = "400"; |
| 25 | + owner = "tinc-retiolum"; |
| 26 | + group = "tinc-retiolum"; |
| 27 | + }; |
| 28 | + retiolum-ed25519 = { |
| 29 | + file = ../../secrets/kibbeh-retiolum-privateKey-ed25519.age; |
| 30 | + mode = "400"; |
| 31 | + owner = "tinc-retiolum"; |
| 32 | + group = "tinc-retiolum"; |
| 33 | + }; |
| 34 | + }; |
| 35 | + |
| 36 | + services.gnome.gnome-keyring.enable = true; |
| 37 | + security.pam.services.lightdm.enableGnomeKeyring = true; |
12 | 38 |
|
13 |
| - # Bootloader. |
14 | 39 | boot.loader.systemd-boot.enable = true;
|
15 | 40 | boot.loader.efi.canTouchEfiVariables = true;
|
16 | 41 |
|
17 |
| - boot.initrd.luks.devices."luks-b3988d35-72a9-4e7c-992d-f500bb388554".device = "/dev/disk/by-uuid/b3988d35-72a9-4e7c-992d-f500bb388554"; |
18 |
| - networking.hostName = "nixos"; # Define your hostname. |
19 |
| - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
| 42 | + services.openssh.enable = true; |
20 | 43 |
|
21 |
| - # Configure network proxy if necessary |
22 |
| - # networking.proxy.default = "http://user:password@proxy:port/"; |
23 |
| - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |
| 44 | + boot.initrd.luks.devices."luks-b3988d35-72a9-4e7c-992d-f500bb388554".device = |
| 45 | + "/dev/disk/by-uuid/b3988d35-72a9-4e7c-992d-f500bb388554"; |
24 | 46 |
|
25 |
| - # Enable networking |
| 47 | + networking.hostName = "kibbeh"; |
26 | 48 | networking.networkmanager.enable = true;
|
27 | 49 |
|
28 |
| - # Set your time zone. |
29 |
| - time.timeZone = "Europe/Berlin"; |
30 |
| - |
31 |
| - # Select internationalisation properties. |
32 | 50 | i18n.defaultLocale = "en_US.UTF-8";
|
33 |
| - |
34 | 51 | i18n.extraLocaleSettings = {
|
35 | 52 | LC_ADDRESS = "de_DE.UTF-8";
|
36 | 53 | LC_IDENTIFICATION = "de_DE.UTF-8";
|
|
43 | 60 | LC_TIME = "de_DE.UTF-8";
|
44 | 61 | };
|
45 | 62 |
|
46 |
| - # Enable the X11 windowing system. |
47 | 63 | services.xserver.enable = true;
|
48 |
| - |
49 |
| - # Enable the Pantheon Desktop Environment. |
50 | 64 | services.xserver.displayManager.lightdm.enable = true;
|
51 | 65 | services.xserver.desktopManager.pantheon.enable = true;
|
| 66 | + # services.displayManager.autoLogin.enable = true; |
| 67 | + # services.displayManager.autoLogin.user = config.users.users.me.name; |
52 | 68 |
|
53 |
| - # Configure keymap in X11 |
54 |
| - services.xserver = { |
55 |
| - layout = "de"; |
56 |
| - xkbVariant = "T3"; |
57 |
| - }; |
58 |
| - |
59 |
| - # Configure console keymap |
60 |
| - console.keyMap = "de"; |
61 |
| - |
62 |
| - # Enable CUPS to print documents. |
63 |
| - services.printing.enable = true; |
64 |
| - |
65 |
| - # Enable sound with pipewire. |
66 |
| - sound.enable = true; |
67 |
| - hardware.pulseaudio.enable = false; |
68 |
| - security.rtkit.enable = true; |
69 |
| - services.pipewire = { |
70 |
| - enable = true; |
71 |
| - alsa.enable = true; |
72 |
| - alsa.support32Bit = true; |
73 |
| - pulse.enable = true; |
74 |
| - # If you want to use JACK applications, uncomment this |
75 |
| - #jack.enable = true; |
76 |
| - |
77 |
| - # use the example session manager (no others are packaged yet so this is enabled by default, |
78 |
| - # no need to redefine it in your config for now) |
79 |
| - #media-session.enable = true; |
| 69 | + age.secrets = { |
| 70 | + di-fm-key.file = ../../secrets/di-fm-key.age; |
80 | 71 | };
|
81 | 72 |
|
82 |
| - # Enable touchpad support (enabled default in most desktopManager). |
83 |
| - # services.xserver.libinput.enable = true; |
84 |
| - |
85 |
| - # Define a user account. Don't forget to set a password with ‘passwd’. |
86 |
| - users.users.kfm = { |
| 73 | + users.users.me = { |
| 74 | + name = "kfm"; |
87 | 75 | isNormalUser = true;
|
88 |
| - description = "Kierán Meinhardt"; |
89 |
| - extraGroups = [ "networkmanager" "wheel" ]; |
| 76 | + description = "किरण"; |
| 77 | + extraGroups = [ "networkmanager" ]; |
| 78 | + password = "hackme"; |
90 | 79 | packages = with pkgs; [
|
| 80 | + # packages TODO |
91 | 81 | firefox
|
92 |
| - # thunderbird |
| 82 | + thunderbird |
| 83 | + alacritty |
| 84 | + tor-browser-bundle-bin |
| 85 | + zathura |
| 86 | + okular |
| 87 | + anki-bin |
| 88 | + libreoffice |
| 89 | + xournalpp |
| 90 | + jellyfin-media-player |
| 91 | + niveumPackages.mpv-tv |
| 92 | + (niveumPackages.mpv-radio.override { di-fm-key-file = config.age.secrets.di-fm-key.path; }) |
| 93 | + niveumPackages.meteo |
| 94 | + spotify |
93 | 95 | ];
|
94 | 96 | };
|
95 | 97 |
|
96 |
| - # Enable automatic login for the user. |
97 |
| - services.xserver.displayManager.autoLogin.enable = true; |
98 |
| - services.xserver.displayManager.autoLogin.user = "kfm"; |
99 |
| - |
100 |
| - # Allow unfree packages |
101 |
| - nixpkgs.config.allowUnfree = true; |
102 |
| - |
103 |
| - # List packages installed in system profile. To search, run: |
104 |
| - # $ nix search wget |
105 | 98 | environment.systemPackages = with pkgs; [
|
106 |
| - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. |
107 |
| - # wget |
| 99 | + htop |
| 100 | + git |
| 101 | + vim |
| 102 | + (niveumPackages.vim.override { colorscheme = "base16-gruvbox-dark-medium"; }) |
108 | 103 | ];
|
109 | 104 |
|
110 |
| - # Some programs need SUID wrappers, can be configured further or are |
111 |
| - # started in user sessions. |
112 |
| - # programs.mtr.enable = true; |
113 |
| - # programs.gnupg.agent = { |
114 |
| - # enable = true; |
115 |
| - # enableSSHSupport = true; |
116 |
| - # }; |
117 |
| - |
118 |
| - # List services that you want to enable: |
119 |
| - |
120 |
| - # Enable the OpenSSH daemon. |
121 |
| - # services.openssh.enable = true; |
122 |
| - |
123 |
| - # Open ports in the firewall. |
124 |
| - # networking.firewall.allowedTCPPorts = [ ... ]; |
125 |
| - # networking.firewall.allowedUDPPorts = [ ... ]; |
126 |
| - # Or disable the firewall altogether. |
127 |
| - # networking.firewall.enable = false; |
128 |
| - |
129 |
| - # This value determines the NixOS release from which the default |
130 |
| - # settings for stateful data, like file locations and database versions |
131 |
| - # on your system were taken. It‘s perfectly fine and recommended to leave |
132 |
| - # this value at the release version of the first install of this system. |
133 |
| - # Before changing this value read the documentation for this option |
134 |
| - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). |
135 |
| - system.stateVersion = "23.11"; # Did you read the comment? |
136 |
| - |
| 105 | + system.stateVersion = "23.11"; |
137 | 106 | }
|
0 commit comments