Created basic NixOS and home-manager flake

This commit is contained in:
Bo⋆˚✿˖° 2025-09-01 13:36:09 +02:00
parent 17687db113
commit 06e98520af
9 changed files with 420 additions and 0 deletions

View file

@ -0,0 +1,111 @@
{ config, pkgs, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Enables the systemd bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# We'll be using the latest kernel (who needs reliability anyway?) :3
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enables NetworkManager
networking.networkmanager.enable = true;
# Sets the hostname (the name of your computer)
networking.hostName = "Orchid";
# Uncomment this to add firewall exceptions
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or uncomment this to disable the firewall all together (don't do it)
# networking.firewall.enable = false;
# Sets the timezone
time.timeZone = "Europe/Amsterdam";
# Sets some default localization
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
services.xserver = {
xkb.layout = "us";
xkb.variant = "intl";
#xkb.options = "grp:win_space_toggle";
};
# Enables printing suport through CUPS
services.printing.enable = true;
# Enables bluetooth
hardware.bluetooth.enable = true;
# Enables sound through pipewire
services.pipewire = {
enable = true;
pulse.enable = true;
};
# Enables the GPG agent
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# Uncomment this to enable the openssh daemon
# services.openssh.enable = true;
# Adds core GUI apps available to everyone
environment.systemPackages = with pkgs; [
firefox
];
# Enables Docker support
virtualisation.docker.enable = true;
# Comment if you're not using btrfs
virtualisation.docker.storageDriver = "btrfs";
# ======================
# USER SPECIFIC SETTINGS
# ======================
# Enables fish as my shell :3
programs.fish.enable = true;
# Sets up syncthing for Library syncthing
#services.syncthing = {
# enable = true;
# user = "bo";
#};
# Don't forget to set a password with passwd
users.users.bo = {
isNormalUser = true;
description = "Bo Jordans";
home = "/home/bo";
initialPassword = "meow";
extraGroups = [ "docker" "wheel" ]; # Enable sudo for the user
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
];
};
# ====================
# END OF USER SETTINGS
# ====================
# DO NOT CHANGE THIS VALUE
# This value does not change the branche your system is on, to do that please check flake.nix
# This value just indicates which version the config file was originally made for
system.stateVersion = "25.05"; # Did you read the comment?
}