Compare commits

..

71 Commits

Author SHA1 Message Date
0ef93baee0 Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-06-02 00:03:28 +02:00
fe64dc6344 docs: update readme 2026-06-02 00:03:21 +02:00
338652be3e chore: update home flake.lock 2026-05-30 23:47:51 +02:00
de6c4000c7 chore: state before home-manager update 2026-05-30 23:47:46 +02:00
66f9dc1bb3 image handler xdg 2026-05-30 19:19:16 +02:00
a33f6f6da3 add libreoffice 2026-05-30 18:31:46 +02:00
4ec3bc2f47 add zathura 2026-05-30 17:54:23 +02:00
94bcf08e7f a;sld 2026-05-28 17:57:03 +02:00
d1ec59478c nixd 2026-05-19 21:40:52 +02:00
93e6dd9858 chore: update home flake.lock 2026-05-15 23:13:40 +02:00
78f4fdafe8 chore: state before home-manager update 2026-05-15 23:13:29 +02:00
a0054abc4f update signal messenger and add feh 2026-05-14 22:44:19 +02:00
4ba52fe963 nixvim nixd und rpcs3 fix 2026-05-14 17:28:38 +02:00
b0883c1b54 chore: update home flake.lock 2026-05-13 17:11:46 +02:00
eb68462cfb chore: state before home-manager update 2026-05-13 17:11:42 +02:00
b724465db1 chore: update home flake.lock 2026-05-12 18:30:33 +02:00
3e15740c3f chore: state before home-manager update 2026-05-12 18:30:28 +02:00
f604e21761 nixvim 2026-05-07 09:27:33 +02:00
16304aeb3f chore: update home flake.lock 2026-05-06 22:48:30 +02:00
a751279ec3 chore: state before home-manager update 2026-05-06 22:48:26 +02:00
baed566262 remove unused import 2026-05-06 19:57:32 +02:00
26cbf784b2 fix: yazi 2026-05-06 19:46:58 +02:00
3f463c5dc7 change xdg folders to flake variables 2026-05-06 18:24:17 +02:00
5675c7e388 update yazi 2026-05-06 18:22:09 +02:00
b402858cd6 remove hugo & update hyprland 2026-05-06 17:50:58 +02:00
49c1ff737a chore: state before home-manager update 2026-05-06 12:29:55 +02:00
dd77199323 chore: update home flake.lock 2026-05-03 19:49:32 +02:00
9516457cfd chore: state before home-manager update 2026-05-03 19:49:28 +02:00
6125f6de46 chore: update home flake.lock 2026-05-02 20:14:31 +02:00
09f37d2e85 chore: state before home-manager update 2026-05-02 20:14:28 +02:00
bf46aa2889 chore: update home flake.lock 2026-04-30 23:05:46 +02:00
e740081f81 chore: state before home-manager update 2026-04-30 23:05:42 +02:00
f66308c6f3 feat: topgrade 2026-04-29 17:31:16 +02:00
58171c4860 chore: state after home update 2026-04-29 17:28:10 +02:00
bab565c6b2 chore: state before home update 2026-04-29 17:26:05 +02:00
8c364ddf66 chore: state after home update 2026-04-29 17:24:29 +02:00
d1aaf86410 chore: state before home update 2026-04-29 17:21:28 +02:00
7f560cdce2 chore: state before home update 2026-04-29 17:18:29 +02:00
26c9f700ec chore: state before home update 2026-04-29 17:08:18 +02:00
2616458c7d chore: update home flake.lock 2026-04-29 12:19:44 +02:00
a6db86493b chore: state before home-manager update 2026-04-29 12:19:39 +02:00
17df54fe4a add hugo support 2026-04-28 22:37:55 +02:00
101ae8da40 feat: add more apps 2026-04-28 19:12:14 +02:00
7b5a5b7fbe feat: add some gui apps 2026-04-28 19:07:05 +02:00
7c6acd39ba update: xdg dirs 2026-04-28 18:21:01 +02:00
dcb1e8024b chore: update home flake.lock 2026-04-28 10:58:15 +02:00
97bc84ca2e chore: state before home-manager update 2026-04-28 10:58:11 +02:00
e5e1663234 fix: hyprland config yet again 2026-04-28 10:56:07 +02:00
f6f967f955 fix: hyprland 2026-04-28 10:47:11 +02:00
3608a5968c blab 2026-04-27 19:37:47 +02:00
cf87e02dd1 refactor: hyprland 2026-04-27 18:43:01 +02:00
3fd48c0e3b feat: add remap for quickly compiling and running current cpp file 2026-04-27 12:12:11 +02:00
21d688754e feat: update ashell config 2026-04-26 20:47:03 +02:00
71572218ae feat: change to stable hyprland 2026-04-26 20:30:52 +02:00
ce671c7440 fix: hyprland config 2026-04-26 20:13:47 +02:00
5ace7fac43 chore: update home flake.lock 2026-04-26 20:01:53 +02:00
b2eb274866 chore: state before home-manager update 2026-04-26 20:01:48 +02:00
c397420d56 chore: update home flake.lock 2026-04-26 08:41:52 +02:00
b206b41cf0 chore: state before home-manager update 2026-04-26 08:41:50 +02:00
2dc61bdcd3 chore: state before home-manager update 2026-04-26 08:38:42 +02:00
7133fcb823 chore: update home flake.lock 2026-04-25 23:21:25 +02:00
a4863c3c4f chore: state before home-manager update 2026-04-25 23:21:20 +02:00
843129eeb1 chore: update home flake.lock 2026-04-25 22:01:57 +02:00
740deb2519 chore: state before home-manager update 2026-04-25 22:01:52 +02:00
a6cd239eaf lskdafj 2026-04-24 17:29:27 +02:00
2971626335 chore: update home flake.lock 2026-04-24 17:23:40 +02:00
5c5e184141 chore: state before home-manager update 2026-04-24 17:23:38 +02:00
b531e290d2 chore: update home flake.lock 2026-04-24 17:19:36 +02:00
d63944a9aa chore: state before home-manager update 2026-04-24 17:19:32 +02:00
375389307b chore: update home flake.lock 2026-04-23 17:22:20 +02:00
0f9855aff4 chore: state before home-manager update 2026-04-23 17:22:17 +02:00
30 changed files with 965 additions and 1021 deletions

View File

@@ -1,3 +1,5 @@
# This repo is now deprecated in favor of new [nixos-born-again](https://github.com/szymon-jozef/nixos-born-again)
![Nix](https://img.shields.io/badge/Nix-unstable-blue.svg?logo=nixos&logoColor=white)
![Home Manager](https://img.shields.io/badge/Home_Manager-enabled-brightgreen.svg)
# My even cooler than previous dotfiles!

553
flake.lock generated
View File

@@ -1,38 +1,5 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776702787,
"narHash": "sha256-qc5uwEWbuubzYthmZcfCapooZGXhoYZWfTQ24TozbCQ=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9a1ca6b8cb4d86a599787a55b78f2ddf809bf945",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": [
@@ -40,11 +7,11 @@
]
},
"locked": {
"lastModified": 1776681486,
"narHash": "sha256-akO/L6Jt4341uBnf3CIpJOTTYyCBQsSvP2hnikV2oMY=",
"lastModified": 1780154910,
"narHash": "sha256-aaGjVFEAJQWB69kok/AthcXpT/9yA5Ag2uYDwdbbj5c=",
"owner": "catppuccin",
"repo": "nix",
"rev": "b85b328ecc9874f4e7424db2820333c148e8dd66",
"rev": "cf8ccac24e24a2a78fe6f36de9c5d5e9860299a4",
"type": "github"
},
"original": {
@@ -53,22 +20,6 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -77,11 +28,11 @@
]
},
"locked": {
"lastModified": 1775087534,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -92,7 +43,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems_3"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -108,28 +59,6 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -137,11 +66,11 @@
]
},
"locked": {
"lastModified": 1776885253,
"narHash": "sha256-vslJ5ezhyD+HBMEqzsPLOBfalILmPrAABR68yxrhEuM=",
"lastModified": 1780099287,
"narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d79c987e654347083e903ab6d2a89ed3d0752177",
"rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
"type": "github"
},
"original": {
@@ -150,32 +79,24 @@
"type": "github"
}
},
"hyprcursor": {
"home-manager_2": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"zen-browser",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"lastModified": 1778805320,
"narHash": "sha256-nGFJ01m2CTBKD4ABtcY4vLhHrRN91LKr/pn41PcU78A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9846abe15e7d0d36b8acbd4d05f2b87461744c92",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
@@ -197,296 +118,6 @@
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776426399,
"narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1776864544,
"narHash": "sha256-Erndbsry1Crh7t0BGGF7TC9zNcttZfAllrXEPco20iw=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "d4dd299d8082097068d3d05bef7198424fbb8dfb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776426575,
"narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "a968d211048e3ed538e47b84cb3649299578f19d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1772460177,
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776426736,
"narHash": "sha256-rl7i4aY+9p8LysJp7o8uRWahCkpFznCgGHXszlTw7b0=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "7833ff33b2e82d3406337b5dcf0d1cec595d83e9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1772462885,
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776428866,
"narHash": "sha256-XfRlBolGtjvalTHJp3XvvpYLBjkMhaZLLU0WqZ91Fcg=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "eedd60805cd96d4442586f2ba5fe51d549b12674",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776430932,
"narHash": "sha256-Yv3RPiUvl7CAsJgwIVsqcj7akn1gLyJP1F/mocof5hA=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "4c2fcc06dc9722c97dbb54ba649c69b18ce83d2e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776728575,
"narHash": "sha256-z9eGphrArEBpl1O/GCH0wlY6z4K9vA6yWh2gAS6qytU=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "f3a80888783702a39691b684d099e16b83ed4702",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1762977756,
@@ -503,29 +134,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-stable": {
"locked": {
"lastModified": 1776548001,
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
"owner": "NixOS",
"lastModified": 1779796641,
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
"rev": "25f538306313eae3927264466c70d7001dcea1df",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_2": {
"locked": {
"lastModified": 1776548001,
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github"
},
"original": {
@@ -541,14 +172,14 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2"
"systems": "systems"
},
"locked": {
"lastModified": 1776830812,
"narHash": "sha256-L2q0bpa6evlzE4IfIQ7JWqhTAuINggUSIxMmOAxUsCg=",
"lastModified": 1780161591,
"narHash": "sha256-eOiIbCMsYMP9JgZXzuT/m41djqDOEHTKjMFrm5NeVHM=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "53aad7a9aaadaec21d740117ba0f0531b9a9b3cd",
"rev": "57e5355a843618a717a19d43b2a726a8f27f0bd1",
"type": "github"
},
"original": {
@@ -557,29 +188,6 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1776796298,
"narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
@@ -596,11 +204,11 @@
]
},
"locked": {
"lastModified": 1771423342,
"narHash": "sha256-7uXPiWB0YQ4HNaAqRvVndYL34FEp1ZTwVQHgZmyMtC8=",
"lastModified": 1776659114,
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "04e9c186e01f0830dad3739088070e4c551191a4",
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
"type": "github"
},
"original": {
@@ -617,11 +225,11 @@
]
},
"locked": {
"lastModified": 1771518446,
"narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
"lastModified": 1776715674,
"narHash": "sha256-Gs1VnEkCkkRZxJQAC/Dhz0Jbfi22mFXChbtNg9w/Ybg=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
"rev": "69f57f27e52a87c54e28138a75ec741cd46663c9",
"type": "github"
},
"original": {
@@ -635,26 +243,28 @@
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"hyprcursor-phinger": "hyprcursor-phinger",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixvim": "nixvim",
"wallpapers": "wallpapers",
"zen-browser": "zen-browser",
"zut-calendar": "zut-calendar",
"zutui": "zutui"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"repo": "default",
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"ref": "future-26.11",
"repo": "default",
"type": "github"
}
},
@@ -673,21 +283,6 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"uv2nix": {
"inputs": {
"nixpkgs": [
@@ -700,11 +295,11 @@
]
},
"locked": {
"lastModified": 1772408201,
"narHash": "sha256-3Va9Tq/tg9ZuCX+PFd9oPgwtBDQRjjh60cYKZjZDxNM=",
"lastModified": 1777895960,
"narHash": "sha256-KebDsQd+A7pm++Tp0744EjULttHvz1wbKqNKkMA/088=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "4bac9176117824d4550deeba9b86d9f96ac5d081",
"rev": "5ad90d48b80ecc920ca2247d53f46beba302e186",
"type": "github"
},
"original": {
@@ -729,44 +324,24 @@
"type": "github"
}
},
"xdph": {
"zen-browser": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"home-manager": "home-manager_2",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776608502,
"narHash": "sha256-UH8YoQxx4hFOm6qjMdjRQNRvSejFIR/wBZ8fW1p9sME=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "4a293523d36dfa367e67ec304cc718ea66a8fec2",
"lastModified": 1780123543,
"narHash": "sha256-vRHmt1N3rPgLJFcSQfHb2c3F7edzVPcyAk6/2QYmO1s=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "7e1dae7aa169ad02f18ca11da247008181b2dc7f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"type": "github"
}
},
@@ -780,11 +355,11 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1773515729,
"narHash": "sha256-+TfrJdqRxmzarLednTCFfxDi1uGNYnIbtyLAFw2Pj0U=",
"lastModified": 1778101628,
"narHash": "sha256-6/x1NOD8QyI+up09LsQdyX7EEd0w7Qr5o9JeQ3AqLHk=",
"owner": "szymon-jozef",
"repo": "zut-calendar",
"rev": "3284491807e196414445326d11913b43e7a0225f",
"rev": "b69ae15381ca37f763c1ef072c67d953017c8bd4",
"type": "github"
},
"original": {

View File

@@ -3,18 +3,25 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
# hyprland.url = "github:hyprwm/Hyprland";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
# theming stuff
catppuccin = {
url = "github:catppuccin/nix";
@@ -42,6 +49,7 @@
outputs =
{
nixpkgs,
nixpkgs-stable,
home-manager,
catppuccin,
nixvim,
@@ -62,14 +70,20 @@
statusBar = "ashell"; # available: ashell | waybar
pathConfig = {
wallpaper = "Obrazy/tapety/catppuccin";
screenshot = "Obrazy/zrzuty/";
obsidian = "Dokumenty/obsidian";
wallpaper = "Obrazy/tapety/catppuccin"; # relative to $HOME/
screenshot = "Obrazy/zrzuty/"; # relative to $HOME/
obsidian = "Dokumenty/obsidian"; # relative to $HOME/
projects = "~/Kodowanie";
documents = "~/Dokumenty";
pictures = "~/Obrazy";
downloads = "~/Pobrane";
video = "~/Video";
};
isNixOS = true;
hostName = "default";
animations = true;
gaming = true;
};
system = "x86_64-linux";
@@ -79,6 +93,16 @@
config.allowUnfree = true;
};
pkgs-stable = import nixpkgs-stable {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-38.8.4"
];
};
};
mkHome =
customConfig:
let
@@ -88,7 +112,7 @@
inherit pkgs;
extraSpecialArgs = {
inherit inputs userConfig;
inherit inputs userConfig pkgs-stable;
};
modules = [

View File

@@ -21,7 +21,7 @@
catppuccin = {
enable = true;
flavor = "mocha";
accent = "mauve";
accent = "sapphire";
};
imports = [
@@ -42,6 +42,7 @@
./modules/cli/git.nix
./modules/cli/fastfetch.nix
./modules/cli/kdeconnect.nix
./modules/cli/topgrade.nix
# gui tools
./modules/gui/kitty.nix
./modules/gui/satty.nix

View File

@@ -17,7 +17,7 @@
modules = {
left = [
"Clock"
"Tempo"
"Workspaces"
];
center = [ "WindowTitle" ];
@@ -66,8 +66,13 @@
}
];
clock = {
format = "%H:%M | %e.%m ";
tempo = {
clock_format = "%H:%M | %e.%m ";
};
media_player = {
max_title_length = 50;
indicator_format = "Icon";
};
settings = {
@@ -76,7 +81,7 @@
appearance = {
scale_factor = 1.2;
style = "Gradient";
style = "Islands";
success_color = "#a6e3a1";
text_color = "#cdd6f4";
workspace_colors = [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ ... }:
{
programs.bat = {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
programs.fastfetch = {

View File

@@ -200,11 +200,31 @@
end
'';
};
blog_build_and_push = {
body =
# fish
''
set USER szymon
set HOST dmowski
set DIR /srv/blog/
set blog_dir ~/Dokumenty/blog
pushd $blog_dir || exit 1
hugo build && rsync -avz --delete public/ $USER@$HOST:$DIR
popd
exit 0
'';
};
};
shellAliases = {
ls = "eza --long --icons --group-directories-first --git";
lst = "eza --long --icons --color --git --tree";
rm = "trash";
# update = "topgrade";
};
};
}

View File

@@ -1,4 +1,4 @@
{ ... }:
{ pkgs, userConfig, ... }:
{
programs.nixvim = {
@@ -124,6 +124,15 @@
key = "}}";
action = "}}zz";
}
{
mode = "n";
key = "<leader>cr";
action = ":w<CR>:TermExec cmd='mkdir -p ./out && g++ \"%\" -o \"./out/%:r\" && ./out/\"%:r\"'<CR>";
options = {
desc = "Compile and run current cpp file";
silent = true;
};
}
];
autoGroups = {
@@ -215,16 +224,26 @@
installRustc = true;
};
# nix
nil_ls.enable = true;
nixd = {
enable = true;
filetypes = [ "nix" ];
formatting = {
command = [ "nixfmt" ];
};
nixpkgs.expr = ''
import (builtins.getFlake "/etc/nixos/").inputs.nixpkgs { }
'';
home-manager.expr = ''
(builtins.getFlake "/home/${userConfig.username}/.home-manager").homeConfigurations."${userConfig.username}@${userConfig.hostName}".options
'';
};
# other
marksman.enable = true;
};
keymaps = {
lspBuf = {
"gd" = "definition";
"gi" = "implementation";
"<leader>ca" = "code_action";
"<leader>cf" = "format";
"<leader>r" = "rename";
};
};
@@ -252,6 +271,8 @@
settings.draw.delay = 0;
};
toggleterm.enable = true;
cmp = {
enable = true;
settings = {

53
modules/cli/topgrade.nix Normal file
View File

@@ -0,0 +1,53 @@
{ ... }:
let
system_path = "/etc/nixos";
home_path = "~/.config/home-manager/";
in
{
programs.topgrade = {
enable = true;
settings = {
misc = {
assume_yes = true;
pre_sudo = true;
disable = [
"flutter"
"node"
"hyprpm"
];
cleanup = false;
notify_end = "never";
nix_handle = "nh";
};
git = {
repos = [ "$XDG_PROJECTS_DIR/*" ];
};
pre_commands = {
"Git commit before system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state before system update'";
"Git commit before home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state before home update'";
"Git pull before system flake update " = "cd ${system_path} && git pull";
"Git pull before home flake update " = "cd ${home_path} && git pull";
};
commands = {
"Update system flake" = "cd ${system_path} && nix flake update";
"Update home flake" = "cd ${home_path} && nix flake update";
};
post_commands = {
"Git commit after system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state after system update'";
"Git commit after home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state after home update'";
"Git push system configuration" = "cd ${system_path} && git push";
"Git push home configuration" = "cd ${home_path} && git push";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ ... }:
{ userConfig, ... }:
{
programs.yazi = {
@@ -37,6 +37,41 @@
"yank"
];
}
{
on = [
"g"
"p"
];
run = "cd ${userConfig.pathConfig.downloads}";
}
{
on = [
"g"
"d"
];
run = "cd ${userConfig.pathConfig.documents}";
}
{
on = [
"g"
"v"
];
run = "cd ${userConfig.pathConfig.video}";
}
{
on = [
"g"
"o"
];
run = "cd ${userConfig.pathConfig.pictures}";
}
{
on = [
"g"
"k"
];
run = "cd ${userConfig.pathConfig.projects}";
}
];
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ ... }:
{
programs.zoxide = {

View File

@@ -1,8 +1,20 @@
{ userConfig, lib, ... }:
{
userConfig,
pkgs,
lib,
inputs,
...
}:
{
programs.chromium = {
enable = true;
package = lib.mkIf (!userConfig.isNixOS) null;
};
home.packages = with pkgs; [
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
tutanota-desktop
brave
];
}

View File

@@ -10,9 +10,9 @@
enable_audio_bell = false;
mouse_hide_wait = "-1.0";
window_padding_width = 10;
background_opacity = "0.5";
font_size = 14;
background_blur = 5;
background_opacity = "0.95";
font_size = 12;
background_blur = 15;
symbol_map =
let
mappings = [

View File

@@ -1,5 +1,4 @@
{
config,
pkgs,
userConfig,
...
@@ -10,7 +9,8 @@
programs.mangohud = {
enable = true;
package = if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
package =
if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
};
xdg.configFile."MangoHud/MangoHud.conf".text = ''

View File

@@ -1,480 +1,13 @@
{ ... }:
{
lib,
userConfig,
pkgs,
inputs,
...
}:
let
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
jq = exe pkgs.jq "jq";
grim = exe pkgs.grim "grim";
satty = exe pkgs.satty "satty";
wl_copy = exe pkgs.wl-clipboard "wl-copy";
notify_send = exe pkgs.libnotify "notify-send";
xdg-desktop-portal-hyprland =
if userConfig.isNixOS then
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
else
"/usr/lib/xdg-desktop-portal-hyprland";
hyprlock = exe pkgs.hyprlock "hyprlock";
playerctl = exe pkgs.playerctl "playerctl";
in
{
wayland.windowManager.hyprland = {
enable = true;
package =
if userConfig.isNixOS then
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
else
null;
portalPackage = lib.mkIf (userConfig.isNixOS
) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
settings = {
"$mainMod" = "SUPER";
"$terminal" = "uwsm app -- kitty";
"$menu" = "hyprlauncher";
"$music_player" = if userConfig.isNixOS then "spotify" else "flatpak run com.spotify.Client";
"$notes" = "obsidian";
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
"$openrgb_color" = "09ce30";
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "scrolling";
};
animations = {
enabled = userConfig.animations;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
ecosystem = {
enforce_permissions = true;
};
permission = [
"^${grim}$, screencopy, allow"
"^${hyprlock}$, screencopy, allow"
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
];
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = false;
sensitivity = -0.5;
touchpad = {
natural_scroll = true;
};
};
device = {
name = "msft0001:01-06cb:7f28-touchpad";
sensitivity = 0;
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"uwsm app -- ${userConfig.statusBar}"
"awww-daemon"
"openrgb -c $openrgb_color"
];
workspace = [
"1, monitor:DP-2"
"1, layout: dwindle"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(zen-beta)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
"match:class ^(winboat)$, workspace 5"
"match:class ^(qemu)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind =
# hyprlang
[
# background
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
# power management
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
# zoom
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
# focus management
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
# apps
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
bindt = [
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" - | ${satty} -f -
''}"
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
''}"
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
${grim} -g "$GEOMETRY" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
''}"
", PAUSE, exec, ${playerctl} play-pause"
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, Q, Kill active window, killactive"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
imports = [
./hyprland/general.nix
./hyprland/looks.nix
./hyprland/layouts.nix
./hyprland/hardware.nix
./hyprland/apps.nix
./hyprland/workspaces.nix
./hyprland/env.nix
./hyprland/autostart.nix
];
}

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./apps/communicators.nix
./apps/browser.nix
./apps/games.nix
./apps/misc.nix
];
}

View File

@@ -0,0 +1,47 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(zen-beta)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
];
bind = [
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
'';
};
}

View File

@@ -0,0 +1,36 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
];
bind = [
"$mainMod Control_L, s, exec,[workspace 1] $signal_client"
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
'';
};
}

View File

@@ -0,0 +1,42 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
];
bind = [
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
'';
};
}

View File

@@ -0,0 +1,61 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(winboat)$, workspace 5"
"match:class ^(qemu)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind = [
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
'';
};
}

View File

@@ -0,0 +1,19 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
in
{
wayland.windowManager.hyprland.settings = {
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"${uwsm_run} -- ${userConfig.statusBar}"
"awww-daemon"
"openrgb -c $openrgb_color"
];
};
}

View File

@@ -0,0 +1,42 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
signal_client = "${pkgs.kitty}/bin/kitty --title 'gurk' ${pkgs.gurk-rs}/bin/gurk";
in
{
wayland.windowManager.hyprland = {
settings = {
"$mainMod" = "SUPER";
"$terminal" = "${uwsm_run} -- ${pkgs.kitty}/bin/kitty";
"$menu" = "${pkgs.hyprlauncher}/bin/hyprlauncher";
"$music_player" =
if userConfig.isNixOS then "${pkgs.spotify}/bin/spotify" else "flatpak run com.spotify.Client";
"$notes" = "${pkgs.obsidian}/bin/obsidian";
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
"$openrgb_color" = "09ce30";
"$signal_client" = signal_client;
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "scrolling";
};
};
};
}

View File

@@ -0,0 +1,110 @@
{
userConfig,
pkgs,
...
}:
let
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
jq = exe pkgs.jq "jq";
grim = exe pkgs.grim "grim";
satty = exe pkgs.satty "satty";
wl_copy = exe pkgs.wl-clipboard "wl-copy";
notify_send = exe pkgs.libnotify "notify-send";
playerctl = exe pkgs.playerctl "playerctl";
xdg-desktop-portal-hyprland =
if userConfig.isNixOS then
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
else
"/usr/lib/xdg-desktop-portal-hyprland";
in
{
wayland.windowManager.hyprland = {
enable = true;
package =
if userConfig.isNixOS then
# inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
pkgs.hyprland
else
null;
#portalPackage = lib.mkIf (userConfig.isNixOS
#) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
settings = {
ecosystem = {
enforce_permissions = true;
};
permission = [
"^${pkgs.grim}/bin/grim$, screencopy, allow"
"^${pkgs.hyprlock}/bin/hyprlock$, screencopy, allow"
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
];
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
];
bind = [
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
];
bindt = [
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" - | ${satty} -f -
''}"
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
''}"
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
${grim} -g "$GEOMETRY" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
''}"
", PAUSE, exec, ${playerctl} play-pause"
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
];
};
};
}

View File

@@ -0,0 +1,89 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = false;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
# mouse has super high dpi so lover the sensitivity!
device = {
name = "corsair-corsair-m75-gaming-mouse";
sensitivity = -0.5;
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
};
extraConfig =
#hyprlang
''
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
}

View File

@@ -0,0 +1,78 @@
{
...
}:
{
wayland.windowManager.hyprland.settings = {
dwindle = {
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
bind = [
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, Q, Kill active window, killactive"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
}

View File

@@ -0,0 +1,58 @@
{
userConfig,
...
}:
{
wayland.windowManager.hyprland = {
settings = {
animations = {
enabled = userConfig.animations;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
};
};
}

View File

@@ -0,0 +1,20 @@
{ ... }:
{
wayland.windowManager.hyprland.settings = {
workspace = [
"1, monitor:DP-2"
"1, layout: dwindle"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
};
}

View File

@@ -1,26 +1,71 @@
{ pkgs, ... }:
{
pkgs,
pkgs-stable,
lib,
userConfig,
...
}:
let
rstudio-with-packages = pkgs-stable.rstudioWrapper.override {
# we use stable, because unstable is broken rn
packages = with pkgs-stable.rPackages; [
# additional packages for rstudio here
ggplot2
];
};
in
{
home.packages = with pkgs; [
libnotify
cliphist
gh
trash-cli
pandoc
fzf
eza
fastfetch
fd
duf
gdu
jq
tealdeer
grim
slurp
bc
nh
runc
];
home.packages =
with pkgs;
[
# Cli stuff
libnotify
cliphist
gh
trash-cli
pandoc
fzf
eza
fastfetch
fd
duf
gdu
jq
tealdeer
grim
slurp
bc
nh
runc
nixfmt
zathura
zathuraPkgs.zathura_pdf_mupdf
# Music
spotify
# Gui stuff
homebank
gimp
rstudio-with-packages
feh
libreoffice
# Messaging
vesktop
signal-desktop
]
++ lib.optionals userConfig.gaming [
mangohud
prismlauncher
heroic
# lutris
pkgs-stable.rpcs3
pcsx2
];
xdg.configFile."containers/containers.conf".text = ''
[engine]

View File

@@ -1,4 +1,4 @@
{ ... }:
{ userConfig, ... }:
let
browserFallback = [
@@ -7,6 +7,8 @@ let
"brave.desktop"
"chromium.desktop"
];
imageViewer = "feh.desktop";
in
{
xdg.portal.config = {
@@ -38,9 +40,12 @@ in
"audio/mpeg" = [ "mpv.desktop" ];
"image/*" = [ "org.kde.koko.desktop" ];
"image/png" = [ "feh.desktop" ];
"image/bmp" = [ "feh.desktop" ];
"image/svg+xml" = [ "feh.desktop" ];
"image/png" = [ imageViewer ];
"image/jpeg" = [ imageViewer ];
"image/jpg" = [ imageViewer ];
"image/bmp" = [ imageViewer ];
"image/svg+xml" = [ imageViewer ];
"image/webp" = [ imageViewer ];
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
"x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ];
@@ -52,11 +57,12 @@ in
enable = true;
createDirectories = true;
desktop = null;
documents = "$HOME/Dokumenty";
download = "$HOME/Pobrane";
documents = baseNameOf userConfig.pathConfig.documents;
download = baseNameOf userConfig.pathConfig.downloads;
music = null;
pictures = "$HOME/Obrazy";
videos = "$HOME/Video";
pictures = baseNameOf userConfig.pathConfig.pictures;
videos = baseNameOf userConfig.pathConfig.video;
projects = baseNameOf userConfig.pathConfig.projects;
templates = null;
publicShare = null;
setSessionVariables = true;