Compare commits

...
Sign in to create a new pull request.

5 commits

Author SHA1 Message Date
f86275f331 progress 2026-03-28 00:04:05 +01:00
86090fa40e progress? 2026-03-27 19:36:20 +01:00
7d6dd5e9e4 :) 2026-03-25 19:42:12 +01:00
08e6e2305d muhehe >:3 2026-03-24 23:49:16 +01:00
2adaf45fd9 I hath begun 2026-03-24 23:29:33 +01:00
65 changed files with 84 additions and 2274 deletions

View file

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

View file

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

View file

@ -1,49 +0,0 @@
{
pkgs,
inputs,
...
}: {
imports = [
./hardware-configuration.nix
./verbatim.nix
./500G-disk.nix
../modules/system/graphics.nix
../modules/system/boot.nix
../modules/system/networking.nix
../modules/system/xdg-settings.nix
../modules/system/window-manager.nix
../modules/system/sddm.nix
../modules/system/main-user.nix
../modules/system/programs.nix
../modules/system/ssh.nix
../modules/system/sound.nix
../modules/system/printing.nix
../modules/system/input-handle.nix
../modules/system/keyboard.nix
../modules/system/locale.nix
../modules/dots/quick_shell/module.nix
];
programs.niri.enable = true;
programs.xwayland = {
enable = true;
package = pkgs.xwayland-satellite;
};
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config = {
allowUnfree = true;
nvidia.acceptLicense = true;
};
services.xserver.enable = true;
environment.shells = [pkgs.nushell];
home-manager.extraSpecialArgs = {inherit inputs;};
system.stateVersion = "25.11";
}

View file

@ -1,30 +0,0 @@
# 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" "nvme" "usbhid" "usb_storage" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/339dddc4-c4f8-47ea-a7a9-471c77f7c89e";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1ff36da1-f1eb-4ae0-911f-d638ad5cf5ec";
fsType = "ext4";
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,7 +0,0 @@
{
fileSystems."/mnt/verbatim" = {
device = "/dev/disk/by-uuid/2aa5f849-1df0-4f3a-b7db-ef64d06b16e4";
fsType = "ext4";
options = ["nofail" "user" "rw" "exec"];
};
}

View file

@ -1 +0,0 @@
/run/user/1000/quickshell/vfs/740f0dbe5bf608b9ce0b8dffafd96492/.qmlls.ini

View file

@ -1,39 +0,0 @@
pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
PanelWindow {
id: calendarPopup
required property bool expanderOpen
required property color bgColor
required property color recColor
required property int recRadius
required property int barWidth
anchors.left: true
anchors.bottom: true
implicitWidth: (expanderOpen || popupAnim.running) ? 160 : 0
implicitHeight: (expanderOpen || popupAnim.running) ? 1400 : 0
color: "transparent"
Rectangle {
id: popupRectangle
y: calendarPopup.height - height
x: calendarPopup.expanderOpen ? 0 : -(width + calendarPopup.barWidth)
width: 160
height: 140
color: calendarPopup.bgColor
Behavior on x {
NumberAnimation {
id: popupAnim
duration: 400
easing.type: Easing.OutCubic
}
}
}
}

View file

@ -1,86 +0,0 @@
pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
import QtQuick.Controls
PanelWindow {
id: powerPopup
required property bool expanderOpen
required property color bgColor
required property color recColor
required property int recRadius
required property int barWidth
anchors.left: true
anchors.bottom: true
implicitWidth: (expanderOpen || popupAnim.running) ? 140 : 0
implicitHeight: (expanderOpen || popupAnim.running) ? 100 : 0
color: "transparent"
Rectangle {
id: popupRectangle
y: parent.height - height
x: powerPopup.expanderOpen ? 0 : -(width + powerPopup.barWidth)
width: 140
height: 100
color: powerPopup.bgColor
Behavior on x {
NumberAnimation {
id: popupAnim
duration: 400
easing.type: Easing.OutCubic
}
}
Row {
anchors.centerIn: popupRectangle
spacing: 10
Rectangle {
color: powerPopup.recColor
width: 50
height: 50
radius: powerPopup.recRadius * 2
Button {
anchors.fill: parent
opacity: 0
onClicked: Quickshell.execDetached(["poweroff"])
}
Image {
anchors.centerIn: parent
source: "file://" + Quickshell.shellDir + "/assets/power.svg"
sourceSize.width: 28
sourceSize.height: 28
}
}
Rectangle {
color: powerPopup.recColor
width: 50
height: 50
radius: powerPopup.recRadius * 2
Button {
anchors.fill: parent
opacity: 0
onClicked: Quickshell.execDetached(["reboot"])
}
Image {
anchors.centerIn: parent
source: "file://" + Quickshell.shellDir + "/assets/reboot.svg"
sourceSize.width: 28
sourceSize.height: 28
}
}
}
}
}

View file

@ -1,143 +0,0 @@
pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
import QtQuick.Controls
PanelWindow {
id: sideBar
required property var clock
required property color bgColor
required property color recColor
required property color fontColor
required property int fontSize
required property int barWidth
required property int recRadius
required property int recLength
required property int myMargin
required property int edgeMargin
required property bool powerExpanderOpen
required property bool calendarExpanderOpen
anchors.top: true
anchors.left: true
anchors.bottom: true
implicitWidth: sideBar.barWidth
color: sideBar.bgColor
Rectangle {
id: logo
anchors {
horizontalCenter: parent.horizontalCenter
top: parent.top
topMargin: sideBar.edgeMargin
}
implicitHeight: sideBar.recLength
implicitWidth: sideBar.recLength
radius: sideBar.recRadius
color: sideBar.recColor
Image {
anchors.centerIn: parent
source: "file://" + Quickshell.shellDir + "/assets/logo.svg"
sourceSize.width: 30
sourceSize.height: 30
}
}
Rectangle {
id: workspaces
anchors {
horizontalCenter: parent.horizontalCenter
top: logo.bottom
topMargin: sideBar.myMargin
}
implicitHeight: 200
implicitWidth: sideBar.recLength
radius: sideBar.recRadius
color: sideBar.recColor
Text {
anchors.centerIn: parent
color: sideBar.fontColor
font.pixelSize: sideBar.fontSize
text: "ws"
}
}
Rectangle {
id: notifications
anchors {
horizontalCenter: parent.horizontalCenter
bottom: time.top
bottomMargin: sideBar.myMargin
}
implicitHeight: sideBar.recLength
implicitWidth: sideBar.recLength
radius: sideBar.recRadius
color: sideBar.recColor
Text {
anchors.centerIn: parent
color: sideBar.fontColor
font.pixelSize: sideBar.fontSize
text: "notif"
}
}
Rectangle {
id: time
anchors {
horizontalCenter: parent.horizontalCenter
bottom: power.top
bottomMargin: sideBar.myMargin
}
implicitHeight: sideBar.recLength
implicitWidth: sideBar.recLength
radius: sideBar.recRadius
color: sideBar.recColor
property real hello: time.y
Button {
anchors.fill: parent
opacity: 0
onClicked: sideBar.calendarExpanderOpen = !sideBar.calendarExpanderOpen
}
Text {
anchors.centerIn: parent
color: sideBar.fontColor
font.pixelSize: sideBar.fontSize
text: Qt.formatDateTime(sideBar.clock.date, "hh\nmm")
}
}
Rectangle {
id: power
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
bottomMargin: sideBar.edgeMargin
}
implicitHeight: sideBar.recLength
implicitWidth: sideBar.recLength
radius: sideBar.recRadius
color: sideBar.recColor
Button {
anchors.fill: parent
opacity: 0
onClicked: sideBar.powerExpanderOpen = !sideBar.powerExpanderOpen
}
Image {
anchors.centerIn: parent
source: "file://" + Quickshell.shellDir + "/assets/power.svg"
sourceSize.width: 28
sourceSize.height: 28
}
}
}

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64" viewBox="0 0 60 60"><g fill-rule="evenodd"><use xlink:href="#B" fill="#5277c3"/><path d="M23.58 20.214L8.964 45.528 5.55 39.743l3.94-6.78-7.823-.02L0 30.052l1.703-2.956 11.135.035 4.002-6.9zM24.7 40.45h29.23l-3.302 5.85-7.84-.022 3.894 6.785-1.67 2.9-3.412.004-5.537-9.66-7.976-.016zm17.014-11.092L27.1 4.043l6.716-.063 3.902 6.8 3.93-6.765 3.337.002 1.7 2.953-5.598 9.626 3.974 6.916z" fill="#7ebae4"/><g fill="#5277c3"><use xlink:href="#B"/><path d="M35.28 19.486l-29.23-.002 3.303-5.848 7.84.022L13.3 6.873l1.67-2.9 3.412-.004 5.537 9.66 7.976.016zm1.14 20.294l14.616-25.313 3.413 5.785-3.94 6.78 7.823.02 1.668 2.9-1.703 2.956-11.135-.035-4.002 6.9z"/></g></g><defs ><path id="B" d="M18.305 30.642L32.92 55.956l-6.716.063-3.902-6.8-3.93 6.765-3.337-.002-1.71-2.953 5.598-9.626-3.974-6.916z"/></defs></svg>

Before

Width:  |  Height:  |  Size: 915 B

View file

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<g>
<g>
<rect x="233.075" width="45.851" height="183.403"/>
</g>
</g>
<g>
<g>
<path d="M455.209,146.865c-23.994-37.197-57.767-66.878-97.67-85.836l-19.675,41.415c66.323,31.51,109.18,99.284,109.18,172.66
c0,105.342-85.703,191.045-191.045,191.045S64.955,380.447,64.955,275.104c0-73.376,42.857-141.15,109.18-172.66L154.46,61.029
c-39.902,18.958-73.676,48.64-97.67,85.836c-24.655,38.223-37.686,82.568-37.686,128.24C19.104,405.729,125.374,512,256,512
s236.896-106.271,236.896-236.896C492.896,229.433,479.865,185.087,455.209,146.865z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 877 B

View file

@ -1,2 +0,0 @@
<?xml version="1.0" ?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 11.9998C3 7.02919 7.02944 2.99976 12 2.99976C14.8273 2.99976 17.35 4.30342 19 6.34242" stroke="#292929" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="M19.5 2.99976L19.5 6.99976L15.5 6.99976" stroke="#292929" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="M21 11.9998C21 16.9703 16.9706 20.9998 12 20.9998C9.17273 20.9998 6.64996 19.6961 5 17.6571" stroke="#292929" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="M4.5 20.9998L4.5 16.9998L8.5 16.9998" stroke="#292929" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>

Before

Width:  |  Height:  |  Size: 836 B

View file

@ -1,73 +0,0 @@
pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
ShellRoot {
id: root
property color bgColor: "#6a6365"
property color recColor: "#595254"
property color fontColor: "#FFFFFF"
property int fontSize: 14
property int barWidth: 50
property int recRadius: 8
property int recLength: 35
property int myMargin: 10
property int edgeMargin: 15
SystemClock {
id: clock
precision: SystemClock.Minutes
}
Variants {
model: Quickshell.screens
delegate: Scope {
id: delegate
required property var modelData
property bool powerExpanderOpen: false
property bool calendarExpanderOpen: false
SideBar {
clock: clock
screen: delegate.modelData
bgColor: root.bgColor
recColor: root.recColor
fontColor: root.fontColor
fontSize: root.fontSize
barWidth: root.barWidth
recRadius: root.recRadius
recLength: root.recLength
myMargin: root.myMargin
edgeMargin: root.edgeMargin
powerExpanderOpen: delegate.powerExpanderOpen
onPowerExpanderOpenChanged: delegate.powerExpanderOpen = powerExpanderOpen
calendarExpanderOpen: delegate.calendarExpanderOpen
onCalendarExpanderOpenChanged: delegate.calendarExpanderOpen = calendarExpanderOpen
}
PowerPopup {
screen: delegate.modelData
expanderOpen: delegate.powerExpanderOpen
bgColor: root.bgColor
recColor: root.recColor
recRadius: root.recRadius
barWidth: root.barWidth
}
CalendarPopup {
screen: delegate.modelData
expanderOpen: delegate.calendarExpanderOpen
bgColor: root.bgColor
recColor: root.recColor
recRadius: root.recRadius
barWidth: root.barWidth
}
}
}
}

View file

@ -1,20 +0,0 @@
{pkgs, ...}: let
qs_config = pkgs.callPackage ./package.nix {};
in {
environment.systemPackages = [pkgs.quickshell];
systemd.user.services.quickshell = {
restartIfChanged = true;
description = "quickshell desktop shell";
wantedBy = ["graphical-session.target"];
partOf = ["graphical-session.target"];
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${pkgs.quickshell}/bin/qs -c ${qs_config}";
Restart = "on-failure";
RestartSec = 3;
};
};
}

View file

@ -1,9 +0,0 @@
{stdenv}:
stdenv.mkDerivation {
pname = "quickshell-config";
version = "unstable";
src = ./config;
installPhase = ''
cp -r . $out
'';
}

View file

@ -1,10 +0,0 @@
{pkgs ? import <nixpkgs> {}}:
pkgs.mkShell {
buildInputs = [
pkgs.qt6.qtbase
pkgs.qt6.qtdeclarative
pkgs.qt6.qtwayland
pkgs.qtcreator
pkgs.quickshell
];
}

@ -1 +0,0 @@
Subproject commit 4895333ff1e6b2b9442a58a3c69dad96d7f3b8f3

View file

@ -1,11 +0,0 @@
{pkgs, ...}: {
boot = {
kernelPackages = pkgs.linuxPackages_6_12;
kernelParams = ["nvidia-drm.modeset=1"];
loader.grub = {
enable = true;
device = "/dev/disk/by-id/ata-KINGSTON_SKC300S37A60G_50026B7239039148";
};
};
}

View file

@ -1,3 +0,0 @@
{
services.libinput.enable = true;
}

View file

@ -1,6 +0,0 @@
{
services.xserver.xkb = {
layout = "cz";
options = "caps:escape";
};
}

View file

@ -1,19 +0,0 @@
{
console.keyMap = "cz-lat2";
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";
};
};
}

View file

@ -1,8 +0,0 @@
{pkgs, ...}: {
users.users.benag = {
isNormalUser = true;
extraGroups = ["wheel"];
shell = pkgs.nushell;
};
}

View file

@ -1,6 +0,0 @@
{
networking = {
hostName = "nixos";
networkmanager.enable = true;
};
}

View file

@ -1,9 +0,0 @@
{
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}

View file

@ -1,18 +0,0 @@
{pkgs, ...}: {
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
extraPackages = with pkgs; [
freetype
fontconfig
];
};
gamemode.enable = true;
bash.blesh.enable = true;
nix-ld.enable = true;
};
}

View file

@ -1,7 +0,0 @@
{
services.displayManager.sddm = {
enable = true;
autoNumlock = true;
wayland.enable = false;
};
}

View file

@ -1,13 +0,0 @@
{
services = {
pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
};
}

View file

@ -1,3 +0,0 @@
{
services.openssh.enable = true;
}

View file

@ -1,5 +0,0 @@
{
services.xserver.windowManager = {
bspwm.enable = true;
};
}

View file

@ -1,14 +0,0 @@
{pkgs, ...}: {
xdg = {
portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
configPackages = with pkgs; [
xdg-desktop-portal-gtk
];
};
mime.enable = true;
menus.enable = true;
};
}

419
flake.lock generated
View file

@ -1,419 +0,0 @@
{
"nodes": {
"awww": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1774191766,
"narHash": "sha256-bvO+gfuUOVUiBEwAJ5A2RjpysPzCfyXD+DM8piOa1+4=",
"ref": "refs/heads/main",
"rev": "7a8fc2e646b97e5ae508a44d3449e3b41345d456",
"revCount": 1336,
"type": "git",
"url": "https://codeberg.org/LGFae/awww"
},
"original": {
"type": "git",
"url": "https://codeberg.org/LGFae/awww"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"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": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"floating-calc": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1772147792,
"narHash": "sha256-dxrp+Srkq9mQ+qg53oFI1RKieIi9epEdXyJkv44bZP4=",
"ref": "refs/heads/main",
"rev": "2abbacf66e99db523d624037f3e449aa40e8f366",
"revCount": 12,
"type": "git",
"url": "https://git.stribrny.org/max_ag/floating-calculator"
},
"original": {
"rev": "2abbacf66e99db523d624037f3e449aa40e8f366",
"type": "git",
"url": "https://git.stribrny.org/max_ag/floating-calculator"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1774274572,
"narHash": "sha256-YtpNRYSv0CQn+MjhHHqFcIR5L0Urex2tTwS42kP6nuc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "90913f831383a599c556cba59eac8cae9b5195a9",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"zen-browser",
"nixpkgs"
]
},
"locked": {
"lastModified": 1773422513,
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1767030222,
"narHash": "sha256-kSvWF3Xt2HW9hmV5V7i8PqeWJIBUKmuKoHhOgj3Znzs=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "75bb637454b0fbbb5ed652375a4bf7ffd28bcf6f",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"ndg": {
"inputs": {
"nixpkgs": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1768214250,
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
"owner": "feel-co",
"repo": "ndg",
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
"type": "github"
},
"original": {
"owner": "feel-co",
"ref": "refs/tags/v2.6.0",
"repo": "ndg",
"type": "github"
}
},
"niri-flake": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1774283383,
"narHash": "sha256-3aCfmL8hOcdIl783LTnK+lHcjMGCnc+2zQ98xUyefCU=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "8a583029606cf072cc01c7e2f4298cc75a7ada28",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1773130184,
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1774106199,
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1774244481,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"mnw": "mnw",
"ndg": "ndg",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1768464392,
"narHash": "sha256-H3DRARqclUFdUaWgu1xQEb86/wrh41ZG0fIQJVjcZdE=",
"owner": "notashelf",
"repo": "nvf",
"rev": "007f14a2c8d67568f4655654b401871920d73011",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"rev": "007f14a2c8d67568f4655654b401871920d73011",
"type": "github"
}
},
"root": {
"inputs": {
"awww": "awww",
"floating-calc": "floating-calc",
"home-manager": "home-manager",
"niri-flake": "niri-flake",
"nixpkgs": "nixpkgs",
"nvf": "nvf",
"zen-browser": "zen-browser"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"awww",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764038373,
"narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": [
"floating-calc",
"nixpkgs"
]
},
"locked": {
"lastModified": 1771729765,
"narHash": "sha256-HNsDSR5bhLSrIpi9bTb2uTK1qnPo1xFSBxs6YmFyprk=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "be926cb1a76e8450ab2b92121b2e88d09fa4d41c",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"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"
}
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1773622265,
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1774242250,
"narHash": "sha256-pchbnY7KVnH26g4O3LZO8vpshInqNj937gAqlPob1Mk=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "f19c3e6683c2d2f3fcfcb88fb691931a104bc47c",
"type": "github"
},
"original": {
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,57 +1,11 @@
{ {
description = "My nixos dots :3";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:/hercules-cli/flake-parts";
nvf = { import-tree.url = "github:vic/import-tree";
url = "github:notashelf/nvf/007f14a2c8d67568f4655654b401871920d73011";
inputs.nixpkgs.follows = "nixpkgs";
};
awww = {
url = "git+https://codeberg.org/LGFae/awww";
inputs.nixpkgs.follows = "nixpkgs";
};
niri-flake = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
floating-calc = {
url = "git+https://git.stribrny.org/max_ag/floating-calculator?rev=2abbacf66e99db523d624037f3e449aa40e8f366";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
nixpkgs,
home-manager,
...
}: {
nixosConfigurations.benag = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
./configuration/main/configuration.nix
home-manager.nixosModules.default
{
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
users.benag = ./home/home.nix;
};
}
];
};
}; };
outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;}
(inputs.import-tree [./modules]);
} }

View file

@ -1,62 +0,0 @@
{
pkgs,
inputs,
...
}: {
home = {
username = "benag";
homeDirectory = "/home/benag";
stateVersion = "25.11";
};
programs.home-manager.enable = true;
imports = [
./modules/niri.nix
./modules/bspwm.nix
./modules/sxhkd.nix
./modules/picom.nix
./modules/shells.nix
./modules/zellij.nix
./modules/nvf.nix
./modules/kitty.nix
./modules/foot.nix
./modules/polybar.nix
./modules/waybar.nix
./modules/fastfetch.nix
./modules/cursor.nix
./modules/git.nix
./modules/create-project/create-project.nix
];
home.packages = [
inputs.zen-browser.packages."x86_64-linux".default
pkgs.bspwm
pkgs.sxhkd
pkgs.swww
inputs.awww.packages.x86_64-linux.awww
pkgs.feh
pkgs.picom
pkgs.wofi
pkgs.neovim
pkgs.kitty
pkgs.foot
pkgs.fastfetch
pkgs.pavucontrol
pkgs.btop
pkgs.playerctl
pkgs.dunst
pkgs.zellij
inputs.floating-calc.packages.x86_64-linux.default
pkgs.discord
pkgs.heroic
pkgs.prismlauncher
pkgs.protonup-ng
];
}

View file

@ -1,49 +0,0 @@
{
xsession.windowManager.bspwm = {
enable = true;
settings = {
focus_follows_pointer = true;
pointer_follows_focus = true;
pointer_follows_monitor = true;
};
monitors = {
DVI-I-1 = [
"I"
"II"
"III"
"IV"
"V"
"VI"
"VII"
"VIII"
"IX"
"X"
];
HDMI-0 = [
"I"
"II"
"III"
"IV"
"V"
"VI"
"VII"
"VIII"
"IX"
"X"
];
};
extraConfig = ''
feh --bg-fill "/home/benag/.nix-config/assets/pictures/bocchi_wallpaper.png"
xsetroot -cursor_name left_ptr &
'';
startupPrograms = [
"polybar primary"
"polybar secondary"
];
};
}

View file

@ -1,62 +0,0 @@
{pkgs, ...}: {
home.packages = [
(pkgs.writeScriptBin "create-project"
''
#!${pkgs.nushell}/bin/nu
def main [
type?: string
name?: string
--local (-l)
] {
if $name == null or $type == null {
print "Usage: create-project <name> <type> [Options: -l]"
exit 1
}
if ($name | str contains "/") or ($name | str contains ".") {
print "This is not a valid name for a project"
exit 1
}
if ($type | str contains "/") or ($type | str contains ".") {
print "This is not a valid project type"
exit 1
}
mkdir $name
cd $name
if ($"~/.nix-config/home/modules/create-project/project-blueprints/($type)" | path expand | ls $in | length) > 0 {
glob $"~/.nix-config/home/modules/create-project/project-blueprints/($type)/*" | each { |file| cp $file . }
}
if ($"./init.sh" | path type) == "file" {
bash $"./init.sh" $name
rm "init.sh"
}
echo "use flake" | save .envrc
direnv allow
git init
git add .
git commit -m "Project setup"
if $local {
print "You are all done"
exit 0
}
${pkgs.tea}/bin/tea repos create --name $name
git remote add origin $"https://git.stribrny.org/ben_ag/($name).git"
git push -u origin main
print "You are all done"
exit 0
}
'')
];
}

View file

@ -1,23 +0,0 @@
{
description = "My python development shell";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs = {nixpkgs, ...}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
in {
devShells."${system}" = {
default = pkgs.mkShell {
packages = [
(pkgs.python3.withPackages (python-pkgs: [
python-pkgs.numpy
python-pkgs.pandas
]))
];
};
};
};
}

View file

@ -1,6 +0,0 @@
def main():
pass
if __name__ == "__main__":
main()

View file

@ -1 +0,0 @@
target

View file

@ -1,29 +0,0 @@
{
description = "My rust development shell";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {nixpkgs, ...} @ inputs: let
system = "x86_64-linux";
overlays = [(import inputs.rust-overlay)];
pkgs = import nixpkgs {
inherit system overlays;
};
in {
devShells."${system}" = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
gcc
gnumake
rust-bin.stable.latest.default
evcxr
];
};
};
};
}

View file

@ -1,6 +0,0 @@
#!/usr/bin/env bash
nix develop . --command bash -c "cargo new $1"
cp -r "$1"/* .
rm -fr "$1"

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 14;
};
}

View file

@ -1,88 +0,0 @@
{
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 = "";
}
];
};
};
}

View file

@ -1,17 +0,0 @@
{pkgs, ...}: {
home.packages = [pkgs.nerd-fonts.jetbrains-mono];
programs.foot = {
enable = true;
settings = {
main = {
font = "JetBrainsMono Nerd Font:size=10";
};
colors-dark = {
alpha = "0.75";
};
};
};
}

View file

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

View file

@ -1,9 +0,0 @@
{
programs.kitty = {
enable = false;
settings = {
background_opacity = 0.75;
};
};
}

View file

@ -1,169 +0,0 @@
{inputs, ...}: {
imports = [inputs.niri-flake.homeModules.niri];
programs.niri = {
enable = true;
settings = {
spawn-at-startup = [
{command = ["awww-daemon"];}
{command = ["awww" "img" "/home/benag/.nix-config/assets/pictures/bocchi_wallpaper.png"];}
];
input = {
keyboard = {
xkb = {
layout = "cz";
options = "caps:escape";
};
};
};
outputs = {
"DVI-D-1".mode = {
width = 1920;
height = 1080;
};
"HDMI-A-1".mode = {
width = 1680;
height = 1050;
};
};
environment = {
NIXOS_OZONE_WL = "1";
SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland";
};
gestures = {
hot-corners.enable = false;
};
layout = {
gaps = 2;
default-column-width = {proportion = 0.5;};
preset-column-widths = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
{proportion = 1.0;}
];
preset-window-heights = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
{proportion = 1.0;}
];
border = {
enable = true;
active.color = "#feb6c7";
width = 2;
};
shadow.enable = false;
focus-ring.enable = false;
};
prefer-no-csd = true;
cursor.size = 14;
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
hotkey-overlay.skip-at-startup = true;
window-rules = [
/*
{
geometry-corner-radius = {
top-left = 2.0;
top-right = 2.0;
bottom-left = 2.0;
bottom-right = 2.0;
};
}
*/
{
clip-to-geometry = true;
}
];
input = {
keyboard.numlock = true;
warp-mouse-to-focus.enable = true;
focus-follows-mouse = {
enable = true;
max-scroll-amount = "0%";
};
};
binds = {
"Mod+Q".action.close-window = [];
"Mod+Return".action.spawn = ["foot"];
"Mod+A".action.spawn = ["wofi" "--show" "drun"];
"Mod+B".action.spawn = ["zen-beta"];
"Mod+D".action.spawn = ["discord"];
"Mod+O".action.toggle-overview = [];
"Mod+Alt+H".action.focus-monitor-left = [];
"Mod+Alt+L".action.focus-monitor-right = [];
"Mod+Alt+Left".action.focus-monitor-left = [];
"Mod+Alt+Right".action.focus-monitor-right = [];
"Mod+Ctrl+J".action.focus-workspace-down = [];
"Mod+Ctrl+K".action.focus-workspace-up = [];
"Mod+Ctrl+Down".action.focus-workspace-down = [];
"Mod+Ctrl+Up".action.focus-workspace-up = [];
"Mod+H".action.focus-column-left = [];
"Mod+L".action.focus-column-right = [];
"Mod+J".action.focus-window-down = [];
"Mod+K".action.focus-window-up = [];
"Mod+Left".action.focus-column-left = [];
"Mod+Right".action.focus-column-right = [];
"Mod+Down".action.focus-window-down = [];
"Mod+Up".action.focus-window-up = [];
"Mod+WheelScrollDown".action.focus-column-right = [];
"Mod+WheelScrollUp".action.focus-column-left = [];
"Mod+Y".action.consume-or-expel-window-left = [];
"Mod+X".action.consume-or-expel-window-right = [];
"Mod+R".action.switch-preset-column-width = [];
"Mod+Shift+R".action.switch-preset-window-height = [];
"Mod+F".action.maximize-column = [];
"Mod+Shift+F".action.fullscreen-window = [];
"Mod+V".action.toggle-window-floating = [];
"Mod+Minus".action.set-column-width = ["-10%"];
"Mod+Equal".action.set-column-width = ["+10%"];
"Mod+Shift+Q".action.quit = [];
"Print".action.screenshot = [];
"Ctrl+Print".action.screenshot-screen = [];
"Alt+Print".action.screenshot-window = [];
"Mod+Escape".action.toggle-keyboard-shortcuts-inhibit = [];
"XF86AudioPlay".action.spawn = ["playerctl" "play-pause"];
"XF86AudioNext".action.spawn = ["playerctl" "next"];
"XF86AudioPrev".action.spawn = ["playerctl" "previous"];
"XF86AudioStop".action.spawn = ["playerctl" "stop"];
"XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"];
"XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"];
"xF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"];
};
};
};
}

View file

@ -1,164 +0,0 @@
{
pkgs,
lib,
inputs,
...
}: {
imports = [
inputs.nvf.homeManagerModules.default
];
programs.nvf = {
enable = true;
enableManpages = true;
settings.vim = {
theme = {
enable = true;
transparent = true;
name = "catppuccin";
style = "mocha";
};
lsp = {
enable = true;
null-ls.enable = false;
inlayHints.enable = true;
formatOnSave = true;
lspkind.enable = true;
lspsaga.enable = true;
trouble.enable = true;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
options = {
tabstop = 2;
expandtab = false;
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;
nu.enable = true;
bash.enable = true;
css.enable = true;
html = {
enable = true;
format.enable = true;
lsp.servers = [
"emmet-ls"
"superhtml"
];
};
python.enable = true;
sql.enable = false;
qml.enable = true;
qml.format.enable = true;
ts.enable = true;
zig.enable = true;
csharp.enable = true;
rust = {
enable = true;
extensions.crates-nvim.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 = true;
blink-cmp.enable = false;
};
snippets.luasnip.enable = true;
telescope.enable = true;
git = {
enable = true;
};
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;
};
};
};
xdg.desktopEntries.nvim-foot = {
name = "Neovim (foot)";
comment = "Edit text files with Neovim in foot terminal";
icon = "nvim";
exec = "foot -e nvim %F";
categories = ["Utility" "TextEditor" "Development"];
mimeType = ["text/plain" "text/x-makefile" "application/x-shellscript"];
};
}

View file

@ -1,7 +0,0 @@
{
services.picom = {
enable = false;
backend = "glx";
};
}

View file

@ -1,149 +0,0 @@
{pkgs, ...}: {
services.polybar = {
enable = false;
package = pkgs.polybar.override {
mpdSupport = true;
};
script = ''
polybar primary &
polybar secondary &
'';
settings = {
"colors" = {
fg = "#fafafa";
fg-alt = "#bdbdbd";
purple = "#d500f9";
red = "#ff1744";
trans = "#00000000";
};
"bar/primary" = {
monitor = "DVI-I-1";
width = "100%";
height = "30";
offset-y = "0";
top = "true";
fixed-center = "true";
wm-restack = "bspwm";
override-redirect = "false";
scroll-up = "next";
scroll-down = "prev";
enable-ipc = "true";
background = "\${colors.trans}";
foreground = "\${colors.fg}";
font-0 = "monospace:size=10;2";
font-1 = "monospace:size=10;2";
font-2 = "monospace:size=10;2";
font-3 = "monospace:size=10;2";
font-4 = "monospace:size=10;2";
font-5 = "monospace:size=10;2";
font-6 = "monospace:size=10;2";
font-7 = "monospace:size=12;3";
cursor-click = "pointer";
cursor-scroll = "ns-resize";
modules-left = "bspwm";
modules-right = "date";
};
"bar/secondary" = {
monitor = "HDMI-0";
width = "100%";
height = "30";
offset-y = "0";
top = "true";
fixed-center = "true";
wm-restack = "bspwm";
override-redirect = "false";
scroll-up = "next";
scroll-down = "prev";
enable-ipc = "true";
background = "\${colors.trans}";
foreground = "\${colors.fg}";
font-0 = "monospace:size=10;2";
font-1 = "monospace:size=10;2";
font-2 = "monospace:size=10;2";
font-3 = "monospace:size=10;2";
font-4 = "monospace:size=10;2";
font-5 = "monospace:size=10;2";
font-6 = "monospace:size=10;2";
font-7 = "monospace:size=12;3";
cursor-click = "pointer";
cursor-scroll = "ns-resize";
modules-left = "bspwm";
modules-right = "date";
};
"module/bspwm" = {
type = "internal/bspwm";
format = "<label-state> <label-mode>";
label-focused = "%{T7}%{T-}";
label-focused-foreground = "\${colors.purple}";
label-focused-padding = 1;
label-occupied = "%{T7}%{T-}";
label-occupied-foreground = "\${colors.fg-alt}";
label-occupied-padding = 1;
label-urgent = "%{T7}%{T-}";
label-urgent-foreground = "\${colors.red}";
label-urgent-padding = 1;
label-empty = "%{T7}%{T-}";
label-empty-foreground = "\${colors.fg-alt}";
label-empty-padding = 1;
label-locked = "%{T7}%{T-}";
label-locked-foreground = "\${colors.fg}";
label-locked-padding = 1;
label-sticky = "%{T7}%{T-}";
label-sticky-foreground = "\${colors.fg}";
label-sticky-padding = 1;
label-private = "%{T7}%{T-}";
label-private-foreground = "\${colors.fg}";
label-private-padding = 1;
label-marked = "%{T7}%{T-}";
label-marked-foreground = "\${colors.fg}";
label-marked-padding = 1;
};
"module/date" = {
type = "internal/date";
interval = 1;
time = "%H:%M";
time-alt = "%a, %b %d %H:%M:%S";
format = "<label>";
format-foreground = "\${colors.fg}";
format-padding = 1;
label = "%{T2}%time%%{T-}";
};
};
};
}

View file

@ -1,116 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
bat
fzf
fd
eza
most
];
home.sessionVariables = {
EDITOR = "nvim";
PAGER = "most";
MANPAGER = "most";
MANROFFOPT = "-c";
};
programs = {
bash.enable = true;
fzf.enable = true;
eza.enable = true;
direnv = {
enable = true;
silent = true;
nix-direnv.enable = true;
};
nushell = {
enable = true;
settings = {
show_banner = false;
};
shellAliases = {
cat = "bat -p -P";
system = "nvim /home/benag/.nix-config/flake.nix";
home = "nvim /home/benag/.nix-config/home/home.nix";
config = "nvim /home/benag/.nix-config/configuration/main/configuration.nix";
};
extraConfig = ''
if "ZELLIJ" in $env == false {
zellij
exit
} else {
if "IN_NIX_SHELL" in $env == false {
fastfetch
}
}
def c [] {
clear
fastfetch
}
def rebuild [message?: string] {
cd /home/benag/.nix-config
let commit_message = if $message != null {$message} else {"non important commit"}
try {
git pull
git add .
git commit -m $commit_message
git push
}
sudo nixos-rebuild switch --flake .#benag
}
def --env fzf-cd [] {
let dir = (fd -H -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left)
if $dir != null and $dir != "" {
cd $dir
}
}
def --env fzf-nvim [] {
let file = (fd -H -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left)
if $file != null and $file != "" {
nvim $file
}
}
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-cd"
modifier: "control"
keycode: "char_f"
mode: "emacs"
event: [
{
send: "executehostcommand"
cmd: 'fzf-cd'
}
]
})
$env.config.keybindings = ($env.config.keybindings | append {
name: "fzf-nvim"
modifier: "control"
keycode: "char_e"
mode: "emacs"
event: [
{
send: "executehostcommand"
cmd: 'fzf-nvim'
}
]
})
'';
};
};
}

View file

@ -1,43 +0,0 @@
{
services.sxhkd = {
enable = true;
keybindings = {
"super + q" = "bspc node -c";
"super + f" = "bspc node -t fullscreen";
"super + t" = "bspc node -t tiled";
"super + Return" = "kitty";
"super + b" = "firefox";
"super + d" = "discord";
"super + a" = "rofi -show drun";
"XF86AudioPlay" = "playerctl play-pause";
"XF86AudioNext" = "playerctl next";
"XF86AudioPrev" = "playerctl previous";
"XF86AudioStop" = "playerctl stop";
"super + plus" = "bspc desktop --focus focused:^1";
"super + ecaron" = "bspc desktop --focus focused:^2";
"super + scaron" = "bspc desktop --focus focused:^3";
"super + ccaron" = "bspc desktop --focus focused:^4";
"super + rcaron" = "bspc desktop --focus focused:^5";
"super + zcaron" = "bspc desktop --focus focused:^6";
"super + yacute" = "bspc desktop --focus focused:^7";
"super + aacute" = "bspc desktop --focus focused:^8";
"super + iacute" = "bspc desktop --focus focused:^9";
"super + eacute" = "bspc desktop --focus focused:^10";
"super + shift + plus" = "bspc node -d focused:^1";
"super + shift + ecaron" = "bspc node -d focused:^2";
"super + shift + scaron" = "bspc node -d focused:^3";
"super + shift + ccaron" = "bspc node -d focused:^4";
"super + shift + rcaron" = "bspc node -d focused:^5";
"super + shift + zcaron" = "bspc node -d focused:^6";
"super + shift + yacute" = "bspc node -d focused:^7";
"super + shift + aacute" = "bspc node -d focused:^8";
"super + shift + iacute" = "bspc node -d focused:^9";
"super + shift + eacute" = "bspc node -d focused:^10";
};
};
}

View file

@ -1,126 +0,0 @@
{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 20;
output = [
"DVI-D-1"
"HDMI-A-1"
];
modules-left = ["niri/workspaces"];
modules-right = ["clock"];
"niri/workspaces" = {
disable-scroll = true;
format = "{icon}";
format-icons = {
active = "";
default = "";
};
};
"clock" = {
interval = 1;
format = "{:%H:%M:%S} ";
format-alt = "{:%d/%m/%Y %H:%M:%S}";
tooltip = false;
};
};
};
style = ''
/* Colors */
@define-color fg #fafafa;
@define-color fg-alt #bdbdbd;
@define-color purple #d500f9;
@define-color red #ff1744;
@define-color trans transparent;
/* Global Settings */
* {
font-family: 'monospace';
font-size: 10px;
min-height: 0px;
border: none;
border-radius: 0;
}
/* Waybar */
window#waybar {
background-color: rgba(0, 0, 0, 0);
color: @fg;
}
/* Workspaces */
#workspaces {
background-color: rgba(0, 0, 0, 0);
color: @fg;
}
#workspaces button {
padding: 0 4px;
background-color: rgba(0, 0, 0, 0);
background-image: none;
color: @fg-alt;
border: none;
box-shadow: none;
text-shadow: none;
min-width: 0;
}
#workspaces button:hover {
background-color: rgba(0, 0, 0, 0);
background-image: none;
background: none;
color: @fg-alt;
box-shadow: none;
text-shadow: none;
border: none;
}
#workspaces button.active {
background-color: rgba(0, 0, 0, 0);
color: @purple;
}
#workspaces button.active:hover {
background-color: rgba(0, 0, 0, 0);
background-image: none;
color: @purple;
}
#workspaces button.urgent {
background-color: rgba(0, 0, 0, 0);
color: @red;
}
#workspaces button.urgent:hover {
background-color: rgba(0, 0, 0, 0);
background-image: none;
color: @red;
}
/* Clock */
#clock {
background-color: rgba(0, 0, 0, 0);
background-image: none;
background: none;
color: @fg;
padding: 0 8px;
border: none;
box-shadow: none;
text-shadow: none;
}
#clock:hover {
background-color: rgba(0, 0, 0, 0);
background-image: none;
background: none;
color: @fg;
box-shadow: none;
text-shadow: none;
border: none;
}
'';
};
}

View file

@ -1,13 +0,0 @@
{
programs.zellij = {
enable = true;
enableBashIntegration = false;
settings = {
on_force_close = "quit";
simplified_ui = true;
pane_frames = false;
default_layout = "compact";
show_startup_tips = false;
};
};
}

View file

@ -0,0 +1,13 @@
{
config.flake.factory.user = username: {
nixos."${username}" = {pkgs, ...}: {
users.users."${username}" = {
isNormalUser = true;
name = "${username}";
};
extraGroups = ["wheel"];
shell = pkgs.nushell;
};
};
}

View file

@ -0,0 +1,13 @@
{pkgs, ...}: {
flake.modules.nixos.desktop = {
boot = {
kernelPackages = pkgs.linuxPackages_6_12;
kernelParams = ["nvidia-drm.modeset=1"];
loader.grub = {
enable = true;
device = "/dev/disk/by-id/ata-KINGSTON_SKC300S37A60G_50026B7239039148";
};
};
};
}

View file

@ -0,0 +1 @@
{inputs, ...}: {flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "desktop";}

View file

@ -1,12 +1,12 @@
{config, ...}: { {config, ...}: {
services.xserver.videoDrivers = [ flake.modules.nixos.desktop = {
"nvidia" nixpkgs.hostPlatform = "x86_64-linux";
];
hardware = { hardware = {
graphics = { graphics = {
enable = true; enable = true;
enable32Bit = true; enable32Bit = true;
};
}; };
nvidia = { nvidia = {

View file

@ -0,0 +1,7 @@
{self, ...}: {
flake.modules.nixos.desktop = {
imports = [
self.factory.benDesktop
];
};
}

View file

@ -0,0 +1,6 @@
{lib, ...}: {
options.flake.factory = lib.mkOption {
type = lib.types.attrsof lib.types.unspecified;
default = {};
};
}

View file

@ -0,0 +1,21 @@
{
inputs,
lib,
...
}: {
options.flake.lib = lib.mkOption {
type = lib.types.attrsOf lib.types.unspecified;
default = {};
};
config.flake.lib = {
mkNixos = system: name: {
${name} = inputs.nixpkgs.lib.nixosSystem {
modules = [
inputs.self.modules.nixos.${name}
{nixpkgs.hostPlatform = lib.mkDefault system;}
];
};
};
};
}

View file

@ -0,0 +1,9 @@
{
self,
lib,
...
}: {
flake.modules = lib.mkMerge [
(self.factory.user "benDesktop")
];
}