diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-01-28 22:34:00 +0100 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-01-28 22:34:00 +0100 |
| commit | 2700135ddf6a044023dac86ee1d33950d3d2ab61 (patch) | |
| tree | cf886b1452c83f62110789f0f0b05a6143f75e28 | |
| parent | 67cf7eb1b5d0cf86faab9e67ed8bd060ed2267b6 (diff) | |
fixed it?
| -rw-r--r-- | config.old.nix | 1082 | ||||
| -rw-r--r-- | configuration.nix | 2 | ||||
| -rw-r--r-- | hardware-configuration.nix | 31 | ||||
| -rw-r--r-- | mun.nix | 5 |
4 files changed, 36 insertions, 1084 deletions
diff --git a/config.old.nix b/config.old.nix deleted file mode 100644 index 86bde2f..0000000 --- a/config.old.nix +++ /dev/null @@ -1,1082 +0,0 @@ -{ config, lib, pkgs, ... }: - -let -get_spotify_status = pkgs.writeShellScript "get_spotify_status.sh" '' - #!/bin/bash - -# The name of polybar bar which houses the main spotify module and the control modules. -PARENT_BAR="example" -PARENT_BAR_PID=$(pgrep -a "polybar" | grep "$PARENT_BAR" | cut -d" " -f1) - -# Set the source audio player here. -# Players supporting the MPRIS spec are supported. -# Examples: spotify, vlc, chrome, mpv and others. -# Use `playerctld` to always detect the latest player. -# See more here: https://github.com/altdesktop/playerctl/#selecting-players-to-control -PLAYER="playerctld" - -# Format of the information displayed -# Eg. {{ artist }} - {{ album }} - {{ title }} -# See more attributes here: https://github.com/altdesktop/playerctl/#printing-properties-and-metadata -FORMAT="{{ title }} - {{ artist }}" - -# Sends $2 as message to all polybar PIDs that are part of $1 -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 - ''; -in -let - unstable = import <nixos-unstable> { config = { allowUnfree = true; }; }; - - hidePolybarInFullscreen = pkgs.writeShellScript "hidePolybarInFullscreen.sh" '' - #!/usr/bin/env bash - - # Wait a bit to ensure i3 and polybar are ready - sleep 1 - - # Subscribe to i3 window events - i3-msg -t subscribe -m '[ "window" ]' | while read -r event; do - # Hide Polybar when a window enters fullscreen - if echo "$event" | grep -q '"fullscreen_mode":[[:space:]]*1'; then - polybar-msg cmd hide - # Show Polybar when fullscreen exits - elif echo "$event" | grep -q '"fullscreen_mode":[[:space:]]*0'; then - polybar-msg cmd show - fi - done - ''; - in -{ - imports = [ - ./hardware-configuration.nix - <nixos/home-manager> - ]; - - 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; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.systemd-boot.configurationLimit = 5; - 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" ]; - 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 - ])) - - ]; - - 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 - ]; - }; - - - # === Home Manager User Config === -home-manager = { - backupFileExtension = "backup"; - - users.mun = { pkgs, ... }: { - home = { - stateVersion = "25.11"; - packages = with pkgs; [ - pay-respects zathura ripgrep fd git lazygit tree-sitter - ]; - - sessionVariables = { - EDITOR = "nvim"; - VISUAL = "nvim"; - }; - }; - - gtk.cursorTheme = { - package = pkgs.rose-pine-cursor; - name = "RosePine"; - }; - - xdg = { - enable = true; - - mimeApps = { - enable = true; - - defaultApplications = { - "text/plain" = [ "nvim.desktop" ]; - "text/markdown" = [ "nvim.desktop" ]; - "text/x-markdown" = [ "nvim.desktop" ]; - }; - }; - }; - - programs = { - - ssh = { - enable = true; - forwardAgent = true; - addKeysToAgent = "yes"; -}; - - # --- ZSH --- - zsh = { - enable = true; - syntaxHighlighting.enable = true; - shellAliases = { - ll = "ls -l"; - rebuild = "sudo nixos-rebuild switch"; - edit = "sudo vi /etc/nixos/configuration.nix"; - }; - - history.size = 10000; - - oh-my-zsh = { - enable = true; - plugins = [ "git" ]; - theme = "simple"; - }; - - initContent = " - export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket - fastfetch"; - }; - - rofi = { - enable = true; - location = "center"; - cycle = true; - theme = "purple"; - terminal = "\${pkgs.kitty}/bin/kitty"; - modes = [ - "drun" - "ssh" - "emoji" - "calc" - ]; - plugins = with pkgs; [ - rofi-emoji - rofi-calc - ]; - }; - - nnn = { - enable = true; - package = pkgs.nnn.override { - withNerdIcons = true; - }; - }; - # --- Neovim --- - neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - - withNodeJs = true; - - extraLuaConfig = '' - -- Bootstrap LazyVim - local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" - if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", - lazypath, - }) - end - vim.opt.rtp:prepend(lazypath) - - -- Install LazyVim and setup - require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.tex" }, - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "lazyvim.plugins.extras.lang.python" }, - { import = "lazyvim.plugins.extras.lang.rust" }, - { import = "lazyvim.plugins.extras.lang.nix" }, - { "lervag/vimtex", - lazy = false, - init = function() - vim.g.vimtex_view_method = "zathura" - end - }, - { "MeanderingProgrammer/render-markdown.nvim", - opts = { - -- optional settings: - enabled = true, - file_types = { "markdown", "rmd" }, - colorscheme = "default" - }, - dependencies = { - "nvim-treesitter/nvim-treesitter", - "nvim-tree/nvim-web-devicons", -- optional but recommended - }, - }, - -- Mermaid file syntax highlighting - { "mracos/mermaid.vim", ft = { "mermaid" } }, - }, - - defaults = { lazy = false, version = false }, - - - - - checker = { enabled = true }, - performance = { - rtp = { - disabled_plugins = { - "gzip", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, - }) - -- LaTeX-specific soft wrapping - vim.api.nvim_create_autocmd("FileType", { - pattern = "tex", - callback = function() - vim.opt_local.wrap = true -- enable soft wrap - vim.opt_local.linebreak = true -- wrap at word boundaries - vim.opt_local.breakindent = true -- indent wrapped lines - vim.opt_local.breakindentopt = "shift:2" - vim.opt_local.textwidth = 0 -- don't hard wrap automatically - end, - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = "markdown", - callback = function() - vim.diagnostic.disable(0) - end, - }) - - -- Configure Nix LSP (nil_ls) to use system binary - local lspconfig = require("lspconfig") - lspconfig.nil_ls.setup({ - cmd = { "nil" }, -- points to nix language server installed by Nix - }) - - -- Set system clipboard - vim.opt.clipboard = "unnamedplus" - ''; - }; - - # --- Kitty Terminal --- - kitty = { - enable = true; - extraConfig = '' - confirm_os_window_close 0 - font_family Fira Code - bold_font Fira Code Bold - italic_font Fira Code Light - shell_integration no-cursor - cursor_shape beam - window_padding_width 7 - window_padding_height 10 - scrollback_lines 3000 - font_size 11 - map ctrl+shift+plus change_font_size all +1.0 - map ctrl+shift+minus change_font_size all -1.0 - background_opacity 0.7 - cursor #AC82E9 - selection_background #d8cab8 - selection_foreground #141216 - background #141216 - foreground #d8cab8 - color0 #2b2135 - color8 #92fcfa - color1 #fc4649 - color9 #fc4649 - color2 #c4e881 - color10 #c4e881 - color3 #AC82E9 - color11 #AC82E9 - color4 #7b91fc - color12 #7b91fc - color5 #f3fc7b - color13 #f3fc7b - color6 #8F56E1 - color14 #8F56E1 - color7 #fc92fc - color15 #d8cab8 - ''; - }; - }; - - xsession = { - windowManager = { - i3 = { - enable = true; - config = { - bars = []; - }; - extraConfig = '' - # This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout some time, delete -# this file and re-run i3-config-wizard(1). -# - -# i3 config file (v4) -# -# Please see https://i3wm.org/docs/userguide.html for a complete reference! - -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:Fira Code 10 - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# Start XDG autostart .desktop files using dex. See also -# https://wiki.archlinux.org/index.php/XDG_Autostart -exec --no-startup-id dex-autostart --autostart --environment i3 - -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. - -# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the -# screen before suspend. Use loginctl lock-session to lock your screen. -exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock-fancy-rapid 5 3 --nofork - -# NetworkManager is the most popular way to manage wireless networks on Linux, -# and nm-applet is a desktop environment-independent system tray GUI for it. -exec --no-startup-id nm-applet - -# tartup bluetooth applet -exec --no-startup-id blueman-applet - -# automatically startup picom -exec_always --no-startup-id sh -c "sleep 1 && picom --config ~/.config/picom/picom.conf" - -# automatically merge .Xresources to avoid bugs -exec --no-startup-id -merge ~/.Xresources - -# automatically call feh to set the background wallpaper -exec_always --no-startup-id feh --bg-scale ~/Pictures/wallpapers/vox.jpg - -# automatically start xautolock to lock the screen after 3 minutes of inactivity -#exec --no-startup-id xautolock -time 3 -locker "i3lock-fancy" - -# start polybar -exec_always --no-startup-id sh -c "killall -q polybar; sleep 1; polybar example --config=~/.config/polybar/config.ini &" - -# Add a gap on the top via i3-gaps to accomodate for the bar -gaps top 60 - -# Make fullscreen windows render over everything including docks like polybar -exec_always --no-startup-id ${hidePolybarInFullscreen} - - -# automatically start flameshot -exec --no-startup-id flameshot - -# Brightness -bindsym XF86MonBrightnessDown exec brightnessctl set 10%- -bindsym XF86MonBrightnessUp exec brightnessctl set +10% - -# Volume -bindsym XF86AudioMute exec amixer set Master toggle -bindsym XF86AudioLowerVolume exec amixer set Master 5%- -bindsym XF86AudioRaiseVolume exec amixer set Master 5%+ - - -# Mic mute toggle -bindsym XF86AudioMicMute exec amixer set Capture toggle - - - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# open flameshot -bindsym $mod+Shift+s exec flameshot gui - - -# start a terminal -bindsym $mod+Return exec kitty - -# lock the screen -bindsym $mod+Control+l exec --no-startup-id i3lock-fancy-rapid 5 3 - -# open rofi as app launcher -bindsym $mod+m exec rofi -show drun - -# open nnn (n cubed) as the file browser -bindsym $mod+Shift+m exec kitty nnn - -# open firefox -bindsym $mod+n exec firefox - -# kill focused window -bindsym $mod+Shift+q kill - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+uring focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+uring move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+h split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" - -# switch to workspace -bindsym $mod+plus workspace number $ws1 -bindsym $mod+ecaron workspace number $ws2 -bindsym $mod+scaron workspace number $ws3 -bindsym $mod+ccaron workspace number $ws4 -bindsym $mod+rcaron workspace number $ws5 -bindsym $mod+zcaron workspace number $ws6 -bindsym $mod+yacute workspace number $ws7 -bindsym $mod+aacute workspace number $ws8 -bindsym $mod+iacute workspace number $ws9 -bindsym $mod+eacute workspace number $ws10 - -# move focused container to workspace -bindsym $mod+Shift+plus move container to workspace number $ws1 -bindsym $mod+Shift+ecaron move container to workspace number $ws2 -bindsym $mod+Shift+scaron move container to workspace number $ws3 -bindsym $mod+Shift+ccaron move container to workspace number $ws4 -bindsym $mod+Shift+rcaron move container to workspace number $ws5 -bindsym $mod+Shift+zcaron move container to workspace number $ws6 -bindsym $mod+Shift+yacute move container to workspace number $ws7 -bindsym $mod+Shift+aacute move container to workspace number $ws8 -bindsym $mod+Shift+iacute move container to workspace number $ws9 -bindsym $mod+Shift+eacute move container to workspace number $ws10 - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 5 px or 5 ppt - bindsym k resize grow height 5 px or 5 ppt - bindsym l resize shrink height 5 px or 5 ppt - bindsym uring resize grow width 5 px or 5 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 5 px or 5 ppt - bindsym Down resize grow height 5 px or 5 ppt - bindsym Up resize shrink height 5 px or 5 ppt - bindsym Right resize grow width 5 px or 5 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -# class border bground text indicator child_border -client.focused #FFFFFF #FFFFFF #FFFFFF #FFFFFF #b12cbf -client.focused_inactive #8C8C8C #4C4C4C #FFFFFF #4C4C4C #FFFFFF -client.unfocused #4C4C4C #222222 #888888 #292D2E #500096 -client.urgent #EC69A0 #DB3279 #FFFFFF #DB3279 #DB3279 -client.placeholder #000000 #0C0C0C #FFFFFF #000000 #FFFFFF - -client.background #FFFFFF - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -#bar { -# colors { -# background #000000 -# statusline #b12cbf -# separator #500096 -# -# focused_workspace #500096 #b12cbf #000000 -# active_workspace #500096 #b12cbf #000000 -# inactive_workspace #500096 #000000 #b12cbf -# urgent_workspace #500096 #b12cbf #000000 -# binding_mode #500096 #b12cbf #000000 -# } -# status_command i3blocks -# position top -#} - - -# defualt border style for new windows -default_border pixel 3 -default_floating_border pixel 3 -# 0default_border_color # 500096 -# hide container edges if theyre at the screen edge -hide_edge_borders smart - ''; - }; - }; - }; - - services = { - - dunst = { - enable = true; - - settings = let - colors = { - foreground = "#d0b6fd"; - background = "#1c182d"; - alert = "#7b91fc"; - }; - in { - global = { - width = "(200,300)"; - height = "(0,150)"; - offset = "(30,50)"; - origin = "bottom-right"; - transparency = 10; - frame_width = 0; - font = "Fira Code 10"; - }; - - urgency_low = { - background = "${colors.background}"; - foregroung = "${colors.foreground}"; - timeout = 8; - - }; - urgency_normal = { - background = "${colors.background}"; - foreground = "${colors.foreground}"; - frame-size = "0"; - timeout = 10; - }; - - urgency_critical = { - background = "${colors.background}"; - foreground = "${colors.foreground}"; - frame-size = "5"; - frame-color = "${colors.alert}"; - }; - }; -}; - - polybar = { - enable = true; - extraConfig = let - colors = { - background = "#1c182d"; - background-alt = "#2b1b3d"; - foreground = "#d0b6fd"; - primary = "#cfb5fd"; - secondary = "#8a78b0"; - alert = "#7b91fc"; - disabled = "#707880"; - }; - in -'' - ;========================================================== -; -; -; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ -; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ -; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ -; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ -; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ -; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ -; -; -; To learn more about how to configure Polybar -; go to https://github.com/polybar/polybar -; -; The README contains a lot of information -; -;========================================================== - -;[colors] -;background = #1c182d -;background-alt = #2b1b3d -;foreground = #d0b6fd -;primary = #cfb5fd -;secondary = #8a78b0 -;alert = #7b91fc -;disabled = #707880 - -[bar/example] -width = 98% -height = 30pt -radius = 15 -offset-x = 1% -offset-y = 1% - -override-redirect = true -fixed-center = true - -enable-ipc = true - -; dpi = 96 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 4pt - -border-size = Opt -border-color = #00000000 - -padding-left = 1 -padding-right = 1 - -module-margin = 1 - -separator = | -separator-foreground = ${colors.disabled} - -font-0 = fira code;2 - -modules-left = xworkspaces spotify spotify-prev spotify-play-pause spotify-next -modules-center = date -modules-right = filesystem memory cpu pulseaudio-devices wlan xkeyboard battery - -cursor-click = pointer -cursor-scroll = ns-resize - -; wm-restack = generic -; wm-restack = bspwm -; wm-restack = i3 - -; override-redirect = true - -; This module is not active by default (to enable it, add it to one of the -; modules-* list above). -; Please note that only a single tray can exist at any time. If you launch -; multiple bars with this module, only a single one will show it, the others -; will produce a warning. Which bar gets the module is timing dependent and can -; be quite random. -; For more information, see the documentation page for this module: -; https://polybar.readthedocs.io/en/stable/user/modules/tray.html -[module/systray] -type = internal/tray - -format-margin = 8pt -tray-spacing = 16pt - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 1 - -label-occupied = %name% -label-occupied-padding = 1 - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 1 - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% - -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = <label-volume> - -label-volume = %percentage%% - -label-muted = muted -label-muted-foreground = ${colors.disabled} - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock - -label-layout = %layout% -label-layout-foreground = ${colors.primary} - -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-foreground = ${colors.background} -label-indicator-background = ${colors.secondary} - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -format-prefix-foreground = ${colors.primary} -label = %percentage:2%% - -[network-base] -type = internal/network -interval = 5 -format-connected = <label-connected> -format-disconnected = <label-disconnected> -label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected - -[module/wlan] -inherit = network-base -interface-type = wireless -label-connected = %{F#F0C674}%ifname%%{F-} %essid% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %{F#F0C674}%ifname%%{F-} - -[module/date] -type = internal/date -interval = 1 - -date = %H:%M -date-alt = %Y-%m-%d %H:%M:%S - -label = %date% -label-foreground = ${colors.primary} - -[settings] -screenchange-reload = true -pseudo-transparency = true - -[module/battery] -type = internal/battery - -; This is useful in case the battery never reports 100% charge -; Default: 100 -full-at = 100 - -; format-low once this charge percentage is reached -; Default: 10 -; New in version 3.6.0 -low-at = 15 - -; Use the following command to list batteries and adapters: -; $ ls -1 /sys/class/power_supply/ -battery = BAT0 -adapter = ADP1 - -; If an inotify event haven't been reported in this many -; seconds, manually poll for new values. -; -; Needed as a fallback for systems that don't report events -; on sysfs/procfs. -; -; Disable polling by setting the interval to 0. -; -; Default: 5 -poll-interval = 5 -; vim:ft=dosini - -[module/spotify] -type = custom/script -tail = true -interval = 1 -; prefix symbol is shown before the text -format-prefix = "♫" -format = <label> -exec = ${get_spotify_status} - -[module/spotify-prev] -type = custom/script -exec = echo "◀◀" -format = <label> -click-left = playerctl previous -p spotify - -[module/spotify-play-pause] -type = custom/ipc -hook-0 = echo "▶" -hook-1 = echo "▶" -initial = 1 -click-left = playerctl play-pause -p spotify - -[module/spotify-next] -type = custom/script -exec = echo "▶▶" -format = <label> -click-left = playerctl next -p spotify -''; - script = "polybar example --config~/.config/polybar/config.ini &"; - }; - - picom = { - enable = true; - backend = "glx"; - vSync = true; - inactiveOpacity = .9; - activeOpacity = 1; - fade = true; - fadeSteps = [ 0.09 0.09 ]; - fadeDelta = 5; - shadow = true; - shadowOffsets = [ 12 12 ]; - shadowOpacity = 0.5; - shadowExclude = [ - "class_g = 'Polybar'" - "name = 'Polybar'" - ]; - settings = { - corner-radius = 15; - }; - }; - }; - - }; -}; - - services.openssh.enable = true; - - - - system.copySystemConfiguration = true; - system.stateVersion = "25.11"; - -} - - diff --git a/configuration.nix b/configuration.nix index 29b94aa..e969e1e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -3,7 +3,7 @@ { imports = [ - /etc/nixos/hardware-configuration.nix + ./hardware-configuration.nix ]; nix.settings = { diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..8419d66 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,31 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/f62daee8-ba51-478c-97db-c8b96c12043e"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/22BE-C329"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} @@ -66,6 +66,7 @@ in git lazygit tree-sitter + #gcr ]; sessionVariables = { @@ -145,7 +146,7 @@ in vimAlias = true; withNodeJs = true; - # IMPORTANT FIX + # +ANT FIX plugins = []; # disable HM plugin processing extraLuaConfig = '' @@ -407,6 +408,8 @@ in }; services = { + #gnome-keyring.enable = true; + dunst = { enable = true; |
