summaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
authoranand <anand.panchdhari@gmail.com>2025-12-17 15:57:55 +0530
committeranand <anand.panchdhari@gmail.com>2025-12-17 15:57:55 +0530
commitb7ef29a8886a57aadb787807a7c6cf74c1f0ed3a (patch)
tree366a68240fbc9da6b1d567bd6c46d1350ad814de /configuration.nix
Nixos
Diffstat (limited to 'configuration.nix')
-rw-r--r--configuration.nix160
1 files changed, 160 insertions, 0 deletions
diff --git a/configuration.nix b/configuration.nix
new file mode 100644
index 0000000..c838db0
--- /dev/null
+++ b/configuration.nix
@@ -0,0 +1,160 @@
+{ config, lib, pkgs, ... }:
+
+{
+ imports =
+ [
+ ./hardware-configuration.nix
+ ];
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.systemd-boot.configurationLimit = 5;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+
+ networking.hostName = "anand-mini";
+ networking.extraHosts = ''
+ 192.168.1.26 homelab
+ '';
+
+ networking.networkmanager.enable = true;
+
+ time.timeZone = "Asia/Kolkata";
+
+ nixpkgs.config.allowUnfree = true;
+
+ services.displayManager.ly = {
+ enable = true;
+ settings = {
+ clock = "%c";
+ bigclock = true;
+ };
+ };
+
+ services.printing.enable = true;
+
+ services.pipewire = {
+ enable = true;
+ pulse.enable = true;
+ };
+
+ services.libinput.enable = true;
+
+ users.users.anand = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" "network" "input" "uinput" "video" "adbusers" "libvirtd" "kvm" "docker" ];
+ packages = with pkgs; [
+ tree
+ ];
+ };
+
+ environment.systemPackages = with pkgs; [
+ vim
+ neovim
+ wget
+ git
+ kitty
+ tmux
+ ly
+ pavucontrol
+ waybar
+ polybar
+ pass
+ rofi
+ rofimoji
+ wezterm
+ swww
+ networkmanagerapplet
+ zoxide
+ xfce.thunar
+ xfce.thunar-volman
+ xfce.thunar-archive-plugin
+ xfce.thunar-media-tags-plugin
+ javaPackages.compiler.temurin-bin.jdk-25
+ python315
+ rustup
+ brillo
+ gnome.gvfs
+ wlr-randr
+ bat
+ batsignal
+ vlc
+ zathura
+ localsend
+ docker
+ podman
+ kdePackages.kleopatra
+ gimp3
+ kdePackages.ark
+ spotifyd
+ ferdium
+ spotify-player
+ wl-clipboard
+ ];
+
+ fonts.packages = with pkgs; [
+ nerd-fonts.jetbrains-mono
+ ];
+
+ fonts.fontconfig = {
+ enable = true;
+ defaultFonts = {
+ monospace = ["JetBrainsMono Nerd Font"];
+ };
+ };
+
+ nix.settings.experimental-features = ["nix-command" "flakes"];
+
+ virtualisation.libvirtd.enable = true;
+ programs.virt-manager.enable = true;
+
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ };
+
+ programs.hyprland = {
+ enable = true;
+ xwayland.enable = true;
+ };
+
+ programs.firefox.enable = true;
+
+ programs.auto-cpufreq.enable = true;
+ programs.auto-cpufreq.settings = {
+ charger = {
+ governer = "performance";
+ turbo = "auto";
+ };
+ battery = {
+ governer = "powersave";
+ turbo = "auto";
+ };
+ };
+
+ services.openssh.enable = true;
+
+ services.xserver.xkb.layout = "us";
+ services.xserver.xkb.options = "caps:escape";
+
+ # This option defines the first version of NixOS you have installed on this particular machine,
+ # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
+ #
+ # Most users should NEVER change this value after the initial install, for any reason,
+ # even if you've upgraded your system to a new NixOS release.
+ #
+ # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
+ # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
+ # to actually do that.
+ #
+ # This value being lower than the current NixOS release does NOT mean your system is
+ # out of date, out of support, or vulnerable.
+ #
+ # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
+ # and migrated your data accordingly.
+ #
+ # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
+ system.stateVersion = "25.11"; # Did you read the comment?
+
+}
+