summaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configuration.nix')
-rwxr-xr-xconfiguration.nix263
1 files changed, 5 insertions, 258 deletions
diff --git a/configuration.nix b/configuration.nix
index 2271492..e3cb894 100755
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,268 +1,15 @@
{ config, lib, pkgs, ... }:
-let
- get_spotify_status = pkgs.writeShellScript "get_spotify_status.sh" ''
- #!/bin/bash
- PARENT_BAR="example"
- PARENT_BAR_PID=$(pgrep -a "polybar" | grep "$PARENT_BAR" | cut -d" " -f1)
- PLAYER="playerctld"
- FORMAT="{{ title }} - {{ artist }}"
-
- update_hooks() {
- while IFS= read -r id; do
- polybar-msg -p "$id" hook spotify-play-pause $2 1>/dev/null 2>&1
- done < <(echo "$1")
- }
-
- PLAYERCTL_STATUS=$(playerctl --player=$PLAYER status 2>/dev/null)
- EXIT_CODE=$?
-
- if [ $EXIT_CODE -eq 0 ]; then
- STATUS=$PLAYERCTL_STATUS
- else
- STATUS="No player is running"
- fi
-
- if [ "$1" == "--status" ]; then
- echo "$STATUS"
- else
- if [ "$STATUS" = "Stopped" ]; then
- echo "Music Stopped"
- elif [ "$STATUS" = "Paused" ]; then
- update_hooks "$PARENT_BAR_PID" 2
- playerctl --player=$PLAYER metadata --format "$FORMAT"
- elif [ "$STATUS" = "No player is running" ]; then
- echo "Music Off"
- else
- update_hooks "$PARENT_BAR_PID" 1
- playerctl --player=$PLAYER metadata --format "$FORMAT"
- fi
- fi
- '';
-
- hidePolybarInFullscreen = pkgs.writeShellScript "hidePolybarInFullscreen.sh" ''
- #!/usr/bin/env bash
- sleep 1
- i3-msg -t subscribe -m '[ "window" ]' | while read -r event; do
- if echo "$event" | grep -q '"fullscreen_mode":[[:space:]]*1'; then
- polybar-msg cmd hide
- elif echo "$event" | grep -q '"fullscreen_mode":[[:space:]]*0'; then
- polybar-msg cmd show
- fi
- done
- '';
-in
{
imports = [
./hardware-configuration.nix
- ];
-
- nix.settings = {
- substituters = [
- "https://cache.nixos.org/"
- ];
-
- trusted-public-keys = [
- "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
- ];
- experimental-features = [
- "nix-command"
- "flakes"
- ];
- };
-
-
- # === System Settings ===
- boot = {
- kernelPackages = pkgs.linuxPackages_latest;
- initrd = {
- kernelModules = [ "i915" ];
- systemd.enable = true;
- };
- loader = {
- # Hide the OS choice for bootloaders.
- # It's still possible to open the bootloader list by pressing any key
- # It will just not appear on screen unless a key is pressed
- timeout = 0;
-
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot";
- };
- grub = {
- enable = false;
- device = "nodev";
- useOSProber = true;
- efiSupport = true;
- };
- systemd-boot = {
- enable = true;
- consoleMode = "keep";
- configurationLimit = 5;
- };
- };
- plymouth = {
- enable = true;
- theme = "deus_ex";
- themePackages = with pkgs; [
- # By default we would install all themes
- (adi1090x-plymouth-themes.override {
- selected_themes = [ "deus_ex" ];
- })
- ];
- logo = pkgs.fetchurl {
- url = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fnixos_logo_icon_170910.png&f=1&nofb=1&ipt=71345d68f1fc864748db54e81111d5853a24fba1d39bdee7cc6fda3e58181bc0";
- sha256 = "sha256-fr1ZnKdX9EeXl2eTIrxEd17DkVKZL8BV9RGmluSgFfk=";
- };
- extraConfig = ''
- DeviceScale=1
- '';
- };
-
- # Enable "Silent boot"
- consoleLogLevel = 3;
- initrd.verbose = false;
- kernelParams = [
- "quiet"
- "splash"
- "udev.log_level=3"
- "systemd.show_status=auto"
- ];
- };
- networking.hostName = "kronos";
- networking.networkmanager.enable = true;
-
- fileSystems."/boot".options = [ "fmask=0077" "dmask=0077" ];
-
- hardware.bluetooth = {
- enable = true;
- powerOnBoot = true;
- settings = {
- General = {
- Experimental = true;
- Enable = "Source,Sink,Media,Socket";
- AutoConnect = true;
- FastConnectabke = true;
- };
- Policy.AutoEnable = true;
- };
- };
-
- security.pam.sshAgentAuth.enable = true;
-
-# In your configuration.nix
-environment.variables = {
- JAVA_HOME = "${pkgs.jdk17}/lib/openjdk"; # adjust path based on version
-};
-
- time.timeZone = "Europe/Prague";
-
- services.xserver = {
- wacom.enable = true;
- enable = true;
- windowManager.i3 = {
- enable = true;
- extraPackages = with pkgs; [ polybar i3lock-fancy-rapid ];
- };
-
- };
-
- services.displayManager.defaultSession = "none+i3";
- services.displayManager.ly = {
- enable = true;
- };
- services.xserver.xkb.layout = "cz";
- services.xserver.xkb.options = "eurosign:e,caps:escape";
-
- services.printing.enable = true;
- services.pipewire = { enable = true; pulse.enable = true; };
- services.libinput.enable = true;
-
- users.users = {
- mun = {
- isNormalUser = true;
- extraGroups = [ "wheel" "bluetooth" "networkmanager" "kvm" "nixos" ];
- packages = with pkgs; [ tree ];
- shell = pkgs.zsh;
- };
- };
-
- programs.firefox.enable = true;
- programs.zsh.enable = true;
- nixpkgs.config.allowUnfree = true;
-
- environment.systemPackages = with pkgs; [
- neovim wget stdenv tree-sitter discord kitty xfce.thunar thunderbird
- flameshot libreoffice spotify tor-browser alsa-utils helvum
- blueman bluez cava i3status i3lock-fancy-rapid xss-lock polybar
- rofi feh clipman tree git lazygit killall acpi wirelesstools
- brightnessctl fastfetch auto-cpufreq btop cargo gnome-boxes
- clippy xclip texstudio godotPackages_4_5.godot
- clang tree-sitter ripgrep fd unzip lua-language-server stylua
- rust-analyzer rustfmt cargo rustc zathura krita
- ruff vtsls pyright imagemagick ghostscript ruff python314 ly
- prismlauncher vlc lua53Packages.luarocks mermaid-cli lua nil obsidian
- wine bottles comic-mono playerctl zscroll espeak qbittorrent perl bzip2
- libresprite audacity libgcc celestia lutris vscodium peazip vscode
-
- (texlive.combine {
- inherit (texlive) scheme-full;
- notestex = texlivePackages.notestex;
- })
-
-
- (retroarch.withCores (cores: with cores; [
- # --- NES --- #
- fceumm
-
- # --- GBA --- #
- mgba
-
- # --- GB / GBC --- #
- gambatte
- sameboy
- ]))
+ ./modules/nixos/base
+ # === Environment Choice ===
+ # Uncomment one of the following to select your environment:
+ ./modules/nixos/i3wm
+ #./modules/nixos/hyprland
];
-
- fonts = {
- enableDefaultPackages = true;
- packages = with pkgs; [ fira-code noto-fonts noto-fonts-color-emoji blackout beon];
- };
-
- programs.steam = {
- enable = true;
- remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
- dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
- localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
- };
-
- # enable Java support
- programs.java = {
- enable = true;
- package = pkgs.jdk17; # or pkgs.jdk11, pkgs.jdk8, whatever you need
- };
-
- services.xserver.videoDrivers = [ "intel" ];
-
- hardware.graphics = {
- enable = true;
- extraPackages = with pkgs; [
- intel-vaapi-driver # for video acceleration on Intel
- intel-media-driver
- intel-compute-runtime
- mesa
- ];
- };
-
-
-
- services.openssh.enable = true;
-
-
-
- system.stateVersion = "25.11";
-
}