1st commit

This commit is contained in:
benstrb 2025-11-10 19:57:23 +01:00
commit 74d15b4c6a
25 changed files with 1328 additions and 0 deletions

15
assets/bocchi/bocchi.txt Executable file
View file

@ -0,0 +1,15 @@
     ▄▄▀▀▀▀▀▀▀▀▀▄▄          
   ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄    
 ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ 
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄   
   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    
     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀     
       ▀▀▀▀▀▀▀▀▀            
      ▀▀▀▀▀▀▀▀▀▀▀           

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

177
configuration/configuration.nix Executable file
View file

@ -0,0 +1,177 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
inputs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./disk.nix
./sddm.nix
inputs.home-manager.nixosModules.default
];
hardware.graphics = {
enable = true;
};
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nvidia set-up
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.legacy_470;
};
# Enable the X11
services.xserver.enable = true;
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
configPackages = with pkgs; [
xdg-desktop-portal-gtk
];
};
# Bootloader.
boot = {
kernelPackages = pkgs.linuxPackages_6_6;
loader.grub = {
enable = true;
device = "/dev/sda";
useOSProber = true;
milk-theme.enable = true;
gfxmodeBios = "1680x1050";
gfxpayloadBios = "keep";
};
};
networking = {
hostName = "benag";
networkmanager.enable = true;
};
time.timeZone = "Europe/Prague";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "cs_CZ.UTF-8";
LC_IDENTIFICATION = "cs_CZ.UTF-8";
LC_MEASUREMENT = "cs_CZ.UTF-8";
LC_MONETARY = "cs_CZ.UTF-8";
LC_NAME = "cs_CZ.UTF-8";
LC_NUMERIC = "cs_CZ.UTF-8";
LC_PAPER = "cs_CZ.UTF-8";
LC_TELEPHONE = "cs_CZ.UTF-8";
LC_TIME = "cs_CZ.UTF-8";
};
};
services = {
printing.enable = true;
printing.browsing = true;
printing.defaultShared = true;
printing.drivers = [pkgs.hplip pkgs.gutenprint];
pulseaudio.enable = false;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
xserver = {
windowManager.bspwm.enable = true;
xkb = {
layout = "cz";
variant = "";
options = "caps:escape";
};
};
};
console.keyMap = "cz-lat2";
security.rtkit.enable = true;
users.defaultUserShell = pkgs.zsh;
programs.zsh.enable = true;
users.users.benag = {
isNormalUser = true;
description = "Ben Ag";
extraGroups = ["networkmanager" "wheel"];
};
home-manager = {
extraSpecialArgs = {inherit inputs;};
};
programs.firefox.enable = true;
programs.dconf.enable = true;
programs.steam.enable = true;
programs.nix-ld.enable = true;
nixpkgs.config.allowUnfree = true;
nixpkgs.config.nvidia.acceptLicense = true;
environment.systemPackages = with pkgs; [
bspwm
feh
mumble
sxhkd
polybar
kitty
home-manager
git
go
kdePackages.dolphin
openfortivpn
man-pages
man-pages-posix
];
fonts.packages = with pkgs; [
nerd-fonts.fira-code
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
system.activationScripts.cleanBackups = ''
echo "Removing.backup_nix files..."
find /home/benag -type f -name "*.backup_nix" -delete
'';
system.stateVersion = "25.05";
}

12
configuration/disk.nix Normal file
View file

@ -0,0 +1,12 @@
{
fileSystems."/mnt/removable" = {
device = "/dev/disk/by-uuid/1a899f03-4c6a-460a-9635-c4b208b29fba";
fsType = "ext4";
options = [
"nofail"
"users"
"rw"
"exec"
];
};
}

View file

@ -0,0 +1,35 @@
# 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 = [ "ata_generic" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/484ccde0-f6a7-4217-a9ad-98d975cddbc9";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/3f695248-688d-4d1b-90ff-352252af7bce"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s26u1u1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

48
configuration/sddm.nix Normal file
View file

@ -0,0 +1,48 @@
/*
{pkgs, ...}: let
image = ../assets/wallpaper/bocchi-lockscreen.png;
in
pkgs.stdenv.mkDerivation {
name = "sddm";
src = pkgs.fetchFromGitHub {
owner = "rototrash";
repo = "tokyo-night-sddm";
rev = "320c8e74ade1e94f640708eee0b9a75a395697c6";
sha256 = "sha256-JRVVzyefqR2L3UrEK2iWyhUKfPMUNUnfRZmwdz05wL0=";
};
installPhase = ''
mkdir -p $out
cp -R ./* $out/
cd $out/
[ -f Backgrounds/win11.png ] && rm Backgrounds/win11.png
cp -r ${image} $out/Backgrounds/win11.png
'';
}
*/
{pkgs, ...}: let
sddm-astronaut = pkgs.sddm-astronaut.override {
embeddedTheme = "pixel_sakura_static";
};
in {
services.displayManager = {
sddm = {
package = pkgs.kdePackages.sddm;
extraPackages = with pkgs.kdePackages; [
# sddm-astronaut
qtsvg
qtmultimedia
qtvirtualkeyboard
];
enable = true;
wayland.enable = false;
autoNumlock = true;
enableHidpi = false;
theme = "sddm-astronaut-theme";
};
};
environment.systemPackages = [sddm-astronaut];
# Prevent getting stuck at shutdown
systemd.settings.Manager = {
DefaultTimeoutStopSec = "10s";
};
}

496
flake.lock generated Executable file
View file

@ -0,0 +1,496 @@
{
"nodes": {
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1746562888,
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1752979451,
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1748383148,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1751685974,
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
"ref": "refs/heads/main",
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
"revCount": 92,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1748186689,
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "48.2",
"repo": "gnome-shell",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1754886238,
"narHash": "sha256-LTQomWOwG70lZR+78ZYSZ9sYELWNq3HJ7/tdHzfif/s=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0d492b89d1993579e63b9dbdaed17fd7824834da",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"milk-grub-theme": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1750807146,
"narHash": "sha256-5Fv5IFm32HxyP77pY6VkuD+NPE3A0RS7OMTM0HtGK38=",
"owner": "gemakfy",
"repo": "MilkGrub",
"rev": "d455a655a0058ce0962d40f9c0160c934246745a",
"type": "github"
},
"original": {
"owner": "gemakfy",
"repo": "MilkGrub",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1748710831,
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1750605355,
"narHash": "sha256-xT8cPLTxlktxI9vSdoBlAVK7dXgd8IK59j7ZwzkkhnI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3078b9a9e75f1790e6d6ef9955fdc6a2d1740cc6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1754800730,
"narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "641d909c4a7538f1539da9240dedb1755c907e40",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1751906969,
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"mnw": "mnw",
"nixpkgs": "nixpkgs_3",
"systems": "systems"
},
"locked": {
"lastModified": 1754832356,
"narHash": "sha256-CHWUy7FY1icSQnvTNv+9ty6VFjBNDyb3gD8hHhVEZ9Y=",
"owner": "notashelf",
"repo": "nvf",
"rev": "1681ad703470e784156ce3461d92d18492c5baef",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"milk-grub-theme": "milk-grub-theme",
"nixpkgs": "nixpkgs_2",
"nvf": "nvf",
"stylix": "stylix"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"gnome-shell": "gnome-shell",
"nixpkgs": "nixpkgs_4",
"nur": "nur",
"systems": "systems_2",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1754851076,
"narHash": "sha256-k3+/24lN6E9BFRhryHocm7314t0Wtku0hgIdEWi15XI=",
"owner": "danth",
"repo": "stylix",
"rev": "afcfed6fd2a51615cd63aa7fa7608d670e7b61e5",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1750770351,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1751159871,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1751158968,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

50
flake.nix Executable file
View file

@ -0,0 +1,50 @@
{
description = "Nixos config flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nvf.url = "github:notashelf/nvf";
stylix.url = "github:danth/stylix";
milk-grub-theme.url = "github:gemakfy/MilkGrub";
};
outputs = inputs @ {
self,
nixpkgs,
...
}: {
nixosConfigurations = {
benag = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
./configuration/configuration.nix
inputs.stylix.nixosModules.stylix
{
home-manager.sharedModules = [
inputs.stylix.homeModules.stylix
];
}
inputs.home-manager.nixosModules.default
inputs.milk-grub-theme.nixosModule
{
home-manager = {
backupFileExtension = "backup_nix";
useUserPackages = true;
useGlobalPkgs = true;
users.benag = ./home/home.nix;
};
}
];
};
};
};
}

46
home/home.nix Executable file
View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
home.username = "benag";
home.homeDirectory = "/home/benag";
imports = [
./modules/nvf.nix
./modules/zellij.nix
./modules/rofi.nix
./modules/picom.nix
./modules/kitty.nix
./modules/git.nix
./modules/zsh.nix
./modules/stylix.nix
./modules/fastfetch.nix
./modules/bspwm.nix
./modules/sxhkd.nix
];
home.stateVersion = "25.05";
home.packages = [
pkgs.htop
pkgs.fortune
pkgs.bat
pkgs.brave
pkgs.discord
pkgs.heroic
pkgs.pavucontrol
pkgs.superfile
pkgs.libresprite
pkgs.scrot
pkgs.gcc
pkgs.gnumake
pkgs.prismlauncher
];
programs.home-manager.enable = true;
xsession = {
enable = true;
initExtra = ''
xrandr --output DVI-D-0 --mode 1920x1080 --pos 0x0 --primary
xrandr --output HDMI-0 --mode 1680x1050 --pos 1920x0
'';
};
}

20
home/modules/bspwm.nix Executable file
View file

@ -0,0 +1,20 @@
{
xsession.windowManager.bspwm = {
enable = true;
settings = {
focus_follows_pointer = true;
pointer_follows_focus = true;
pointer_follows_monitor = true;
};
startupPrograms = [
"sxhkd"
"polybar"
];
extraConfig = ''
feh --bg-fill "/home/benag/.nix-config/assets/wallpaper/bocchi-light-guitar.png"
'';
};
}

112
home/modules/fastfetch.nix Executable file
View file

@ -0,0 +1,112 @@
{pkgs, ...}: {
home.packages = [pkgs.fastfetch];
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "/home/benag/.nix-config/assets/bocchi/bocchi.txt";
padding = {
top = 1;
left = 1;
};
};
display = {
separator = " -> ";
};
modules = [
"break"
{
type = "custom";
format = "Hardware";
}
{
type = "title";
key = " PC";
keyColor = "green";
}
{
type = "disk";
key = " ";
device = "/dev/sdb";
keyColor = "green";
}
{
type = "cpu";
key = " ";
keyColor = "green";
}
{
type = "gpu";
key = " 󰍛";
keyColor = "green";
}
{
type = "memory";
key = " 󰍛";
keyColor = "green";
}
{
type = "custom";
format = "";
}
"break"
{
type = "custom";
format = "Software";
}
{
type = "os";
key = "󰻀 OS";
keyColor = "yellow";
}
{
type = "kernel";
key = " ";
keyColor = "yellow";
}
{
type = "packages";
key = " 󰏖";
keyColor = "yellow";
}
{
type = "shell";
key = " ";
keyColor = "yellow";
}
{
type = "custom";
format = "";
}
/*
"break"
{
type = "custom";
format = "Age / DT";
}
{
type = "command";
key = " OS Age ";
keyColor = "magenta";
text = "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days";
}
{
type = "datetime";
key = " DateTime ";
keyColor = "magenta";
}
{
type = "custom";
format = "";
}
*/
];
};
};
}

13
home/modules/git.nix Normal file
View file

@ -0,0 +1,13 @@
{pkgs, ...}: {
programs.git = {
enable = true;
package = pkgs.gitFull;
userName = "benstrb";
userEmail = "ben.stribrny@gmail.com";
extraConfig = {
init.defaultBranch = "main";
github.user = "benstrb";
credential.helper = "store";
};
};
}

12
home/modules/kitty.nix Executable file
View file

@ -0,0 +1,12 @@
{pkgs, ...}: {
home.packages = [pkgs.rofi];
programs.kitty = {
enable = true;
themeFile = "Dracula";
extraConfig = ''
font_family FiraCode Nerd Font Mono
font_size 8
'';
};
}

129
home/modules/nvf.nix Executable file
View file

@ -0,0 +1,129 @@
{
pkgs,
inputs,
...
}: {
imports = [inputs.nvf.homeManagerModules.default];
programs.nvf = {
enable = true;
settings.vim = {
lsp = {
enable = true;
formatOnSave = false;
lspkind.enable = true;
lspsaga.enable = false;
trouble.enable = true;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
options = {
tabstop = 2;
autoindent = true;
shiftwidth = 2;
};
clipboard = {
enable = true;
registers = "unnamedplus";
providers = {
wl-copy = {
enable = true;
package = pkgs.wl-clipboard;
};
};
};
languages = {
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
markdown.enable = true;
go.enable = true;
css.enable = true;
html.enable = true;
sql.enable = true;
ts.enable = true;
zig.enable = true;
csharp.enable = true;
clang.enable = true;
rust = {
enable = true;
crates.enable = true;
};
};
visuals = {
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
};
statusline = {
lualine = {
enable = true;
};
};
autopairs.nvim-autopairs.enable = true;
autocomplete = {
nvim-cmp.enable = false;
blink-cmp.enable = true;
};
snippets.luasnip.enable = true;
telescope.enable = true;
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = false;
};
dashboard.alpha.enable = true;
notify.nvim-notify.enable = true;
projects.project-nvim.enable = true;
utility = {
ccc.enable = true;
diffview-nvim.enable = true;
icon-picker.enable = true;
surround.enable = true;
motion = {
hop.enable = true;
leap.enable = true;
};
};
comments.comment-nvim.enable = true;
ui = {
noice.enable = true;
colorizer.enable = true;
illuminate.enable = true;
fastaction.enable = true;
};
};
};
}

8
home/modules/picom.nix Executable file
View file

@ -0,0 +1,8 @@
{
services.picom = {
enable = true;
fade = true;
shadow = true;
opacityRules = ["95:class_g = 'kitty'"];
};
}

7
home/modules/rofi.nix Executable file
View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home.packages = [pkgs.rofi];
programs.rofi = {
enable = true;
};
}

77
home/modules/stylix.nix Executable file
View file

@ -0,0 +1,77 @@
{pkgs, ...}: {
stylix = {
enable = true;
#base16Scheme = "${pkgs.base16-schemes}/share/themes/pinky.yaml";
base16Scheme = {
#base00 = "171517"; #171517 default background
#base01 = "1b181b"; #1b181b lighter background (status bar)
#base02 = "aaaaaa"; #aaaaaa selection background
#base03 = "383338"; #383338 comments, line highlighting
#base04 = "e7dbdb"; #e7dbdb dark foreground
#base05 = "f5f5f5"; #f5f5f5 default foreground, caret, delimiters, operators
#base06 = "ffffff"; #ffffff light foreground
#base07 = "f7f3f7"; #f7f3f7 light background
#base08 = "ffa600"; #ffa600 variables
#base09 = "00ff66"; #00ff66 ints, bools, constants
#base0A = "20df6c"; #20df6c classes, search text background
#base0B = "ff0066"; #ff0066 strings
#base0C = "6600ff"; #6600ff regex, escape chars
#base0D = "00ffff"; #00ffff functions, methods, headings
#base0E = "007fff"; #007fff keywords, storage, selector
#base0F = "df206c"; #df206c Opening/Closing embedded language tags
base00 = "#1a1b26";
base01 = "#232433";
base02 = "#2e2f40";
base03 = "#44475a";
base04 = "#c3aed6";
base05 = "#f5c2e7";
base06 = "#f8bdc9";
base07 = "#ffffff";
base08 = "#f28fad"; # Red
base09 = "#f8a488"; # Orange
base0A = "#f9e2af"; # Yellow
base0B = "#a6e3a1"; # Green
base0C = "#94e2d5"; # Cyan
base0D = "#89b4fa"; # Blue
base0E = "#b4befe"; # Purple
base0F = "#f38ba8"; # Additional pink-red (optional)
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 14;
};
fonts = {
sizes = {
applications = 10;
desktop = 10;
terminal = 9;
popups = 8;
};
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
polarity = "dark";
image = ../../assets/wallpaper/bocchi-light-guitar.png;
};
}

21
home/modules/sxhkd.nix Executable file
View file

@ -0,0 +1,21 @@
{
services.sxhkd = {
enable = true;
keybindings = {
"super + Return" = "kitty";
"super + e" = "dolphin";
"super + b" = "brave";
"super + a" = "rofi -show drun";
"super + q" = "bspc node -c";
"super + d" = "discord";
"super + f" = "bspc node -t fullscreen";
"super + p" = "bspc node -t pseudo_tiled";
"super + t" = "bspc node -t tiled";
"super + r" = "bspc node @parent -R 90";
"super + shift + f" = "bspc node -t floating";
"super + {h,j,k,l}" = "bspc node -s {west,south,north,east}";
"alt + {h,j,k,l}" = "bspc node -f {west,south,north,east}";
};
};
}

16
home/modules/zellij.nix Executable file
View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
home.packages = [pkgs.zellij];
programs.zellij = {
enable = true;
exitShellOnExit = true;
enableZshIntegration = true;
settings = {
simplified_ui = true;
pane_frames = false;
default_layout = "compact";
show_startup_tips = false;
};
};
}

34
home/modules/zsh.nix Executable file
View file

@ -0,0 +1,34 @@
{pkgs, ...}: {
home.packages = [pkgs.zsh];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
home = "nvim /home/benag/.nix-config/home/home.nix";
config = "nvim /home/benag/.nix-config/configuration/configuration.nix";
fl = "nvim /home/benag/.nix-config/flake.nix";
rebuild = "sudo nixos-rebuild switch --flake /home/benag/.nix-config#benag";
cat = "bat -p -P";
c = "clear;fastfetch";
ssh = "TERM=xterm-256color ssh";
};
history = {
size = 10000;
ignoreAllDups = true;
path = "$HOME/.zsh_history";
};
initContent = ''
fastfetch
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
'';
};
}