dotfiles/hosts/thinkpad/configuration.nix

153 lines
3.3 KiB
Nix
Executable file

{
config,
pkgs,
user,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
# system stuff
./system/display.nix
./system/sound.nix
./system/essentials.nix
./system/shell.nix
./system/remap.nix
./system/ssd.nix
# rice and other usefull apps
./desktop.nix
# developing tools
./dev.nix
# music
./apps/music.nix
# communcations apps
./apps/communication.nix
# password manager
./apps/keepassxc.nix
# productivity apps
./apps/prod.nix
# enabling sandboxing and other security measures
./system/security.nix
# file sync
./apps/syncthing.nix
# libreoffice
./apps/office.nix
# node xporter
#./configs/prometheus.nix
./configs/neofetch.nix
./configs/logseq.nix
./configs/i3.nix
./configs/rofi.nix
./configs/picom.nix
./configs/polybar.nix
./configs/btop.nix
./configs/dunst.nix
./configs/firefox.nix
./configs/element.nix
./configs/nvim.nix
./configs/tmux.nix
# terminal
#./configs/st.nix # too minimal, most things dont work without a million tweaks
#./configs/kitty.nix # uses their own stupid xterm extension...
./configs/alacritty.nix # just perfect, tho too much gpu usage
# apps
./apps/graphics.nix
];
# adding nur
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
};
# adding flake support
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nixpkgs.config.permittedInsecurePackages = [
"electron-27.3.11"
];
home-manager.users."${user}" =
{ ... }:
{
home.stateVersion = "24.11";
};
# Bootloader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
boot.initrd.luks.devices."luks-66da6971-2a98-4277-b74c-a8cecb5e3bd3".device =
"/dev/disk/by-uuid/66da6971-2a98-4277-b74c-a8cecb5e3bd3";
# Setup keyfile
boot.initrd.secrets = {
"/crypto_keyfile.bin" = null;
};
boot.loader.grub.enableCryptodisk = true;
boot.initrd.luks.devices."luks-bd115bee-c7d6-4c9e-8e3b-e32c39edb80f".keyFile =
"/crypto_keyfile.bin";
boot.initrd.luks.devices."luks-66da6971-2a98-4277-b74c-a8cecb5e3bd3".keyFile =
"/crypto_keyfile.bin";
networking.hostName = "nixos"; # Define your hostname.
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Budapest";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "hu_HU.UTF-8";
LC_IDENTIFICATION = "hu_HU.UTF-8";
LC_MEASUREMENT = "hu_HU.UTF-8";
LC_MONETARY = "hu_HU.UTF-8";
LC_NAME = "hu_HU.UTF-8";
LC_NUMERIC = "hu_HU.UTF-8";
LC_PAPER = "hu_HU.UTF-8";
LC_TELEPHONE = "hu_HU.UTF-8";
LC_TIME = "hu_HU.UTF-8";
};
users.users.peach = {
isNormalUser = true;
description = "peach";
extraGroups = [
"networkmanager"
"wheel"
"audio"
"docker"
];
};
nixpkgs.config.allowUnfree = true;
nix.settings.auto-optimise-store = true;
system.stateVersion = "24.11";
}