Compare commits

...

81 Commits

Author SHA1 Message Date
cc938db477 use hyprlock as lockscreen 2026-03-14 22:06:39 +01:00
b372f990c3 hm update 2026-03-14 16:53:49 +01:00
5c02123317 os update 2026-03-14 16:42:09 +01:00
fd8cb9c0c8 use plymouth for boot screen 2026-03-14 16:33:42 +01:00
e58d5a7a18 refactor into modules 2026-03-10 23:22:08 +01:00
1b9d24ce15 refactor into modules 2026-03-10 22:39:50 +01:00
5f16717f9b hm update 2026-03-10 11:59:39 +01:00
f5ad771953 os update 2026-03-10 11:56:27 +01:00
62c14b3cdd switch to niri wip branch for blur, update noctalia config, enable qt stylix theming, update niri config 2026-03-09 16:49:11 +01:00
8669253399 hm update 2026-03-09 14:33:54 +01:00
5416a157c2 os update 2026-03-09 14:30:34 +01:00
56272e024c noctalia and nvim update 2026-03-09 14:26:08 +01:00
2d4ae9ef98 update fastfetch config 2026-03-08 15:28:52 +01:00
2559f02151 theme update 2026-03-08 11:24:50 +01:00
dba8c3cc9e hm update 2026-03-05 16:02:00 +01:00
6c372be7a3 noctalia update, disable blur from noctalia overlay 2026-03-05 15:46:06 +01:00
3fa42ea4bc os update 2026-03-03 21:20:03 +01:00
21250446cc hm update, pin krita and gqrx to known working versions 2026-03-03 21:05:42 +01:00
0821b9fa3f fix email lol 2026-03-02 21:24:46 +01:00
Lukrecja Pleskaczyńska
de4ad2b0d8 change name and email in git config, update stylix, change nvim suggestions bindings 2026-03-02 21:20:56 +01:00
ad01ddee34 os and hm update 2026-02-26 13:28:43 +01:00
f6927a5ce3 add vbox, binja, cutecom, gnuradio 2026-02-26 11:22:14 +01:00
669f1452a2 hm update 2026-02-23 17:24:17 +01:00
b380ffe1da os update 2026-02-23 17:21:11 +01:00
3856b1c58f switch to latest kernel 2026-02-23 17:20:39 +01:00
9f32f8e72a add virtualbox 2026-02-22 18:28:22 +01:00
17e28d1ded os and hm update 2026-02-21 03:08:04 +01:00
06042c7668 use a more up-to-date flake for claude code, clean up system eval warn 2026-02-20 01:09:18 +01:00
b3d5f2311f clean up niri config 2026-02-20 00:25:50 +01:00
aa750df916 noctalia update 2026-02-20 00:25:38 +01:00
c8ab587084 hm update 2026-02-20 00:10:16 +01:00
0400d1d8b5 os update 2026-02-19 23:00:51 +01:00
eb6b50cdab hm update 2026-02-14 01:05:41 +01:00
800ce59427 os update 2026-02-14 01:01:59 +01:00
1824539b0e update niri 2026-02-13 13:41:29 +01:00
f9d4e4e647 use own niri fork with fixed fractional blur 2026-02-12 20:42:40 +01:00
97824b5b4d use a more up-to-date flake for codex 2026-02-12 18:28:23 +01:00
c23d9ef2fe theme update, replace niri with forked version with blur 2026-02-12 18:25:02 +01:00
8f60bb546a btrfs fixes 2026-02-12 14:11:54 +01:00
e4f685b199 hm update 2026-02-12 13:58:03 +01:00
a1226d74e1 os update 2026-02-12 13:50:02 +01:00
1972cc2ff4 add calibre 2026-02-12 13:48:09 +01:00
3c6b42e125 reenable runpm=0 amdgpu flag 2026-02-07 12:36:12 +01:00
a8f51e4d6a noctalia update 2026-02-07 12:35:37 +01:00
e9966913b5 hm update 2026-02-07 12:16:42 +01:00
d735ef4691 os update 2026-02-07 12:07:37 +01:00
37d0df651d hm update 2026-02-02 10:40:04 +01:00
d6d2031cc1 os update 2026-02-02 10:34:44 +01:00
86b1c2439b hm update, remove kdenlive 2026-01-25 11:54:32 +01:00
caa0ff4709 os update 2026-01-25 11:40:28 +01:00
aa3b145c3e hm switch with bgs self-signed cert auth 2026-01-19 20:59:32 +01:00
0bda45d484 os and hm update, theme update 2026-01-19 11:25:57 +01:00
bba10e1cd2 enable virtualization, add gnome-boxes, update vstech vpn 2026-01-15 13:31:42 +01:00
55f023f946 noctalia update 2026-01-12 15:00:16 +01:00
4f5ccd78e5 os and hm update 2026-01-12 14:58:54 +01:00
e2587ca6b5 theme update, os flake change to unstable, fish and noctalia update 2026-01-05 20:44:43 +01:00
6be4358695 os and hm update 2026-01-05 00:03:18 +01:00
20559179a7 add wireshark 2026-01-05 00:00:27 +01:00
24153ddc8f add inkscape 2026-01-04 14:37:40 +01:00
1e58c56c2b noctalia update 2026-01-04 13:00:00 +01:00
ace28b3df2 hm update, add gemini-cli back again 2026-01-03 19:42:01 +01:00
585d37e2be wallpaper and theme update 2026-01-03 19:40:29 +01:00
e694dd56c2 wallpaper and theme update 2026-01-03 19:07:36 +01:00
99cb6f5e20 os and hm update 2026-01-02 12:55:22 +01:00
e51289956c revert back to normal niri 2025-12-30 23:38:39 +01:00
fc09b88eef replace niri with fork with blur support 2025-12-29 20:44:31 +01:00
e4f4a71fa5 update theme 2025-12-29 15:26:42 +01:00
aec670464b ignoring upscayl files 2025-12-29 15:26:21 +01:00
c22a4a4a0b fix vs code transparency 2025-12-29 14:37:28 +01:00
ff36b11e4f change default yazi editor and other programs 2025-12-29 14:37:09 +01:00
5aa58aaf5f add upscayl 2025-12-29 14:36:41 +01:00
a83acba383 noctalia update 2025-12-28 10:50:55 +01:00
5962d2b9c3 hm update 2025-12-28 10:49:16 +01:00
fc07dd9378 os update 2025-12-28 10:44:47 +01:00
ca815ace16 add printer stuff 2025-12-28 10:41:26 +01:00
d3bf890015 os and hm flake update 2025-12-20 22:57:17 +01:00
891fb5bf21 noctalia update 2025-12-20 22:55:05 +01:00
e5fa9582bb update os and hm 2025-12-18 21:41:19 +01:00
1a76fab763 add dbeaver 2025-12-15 20:23:23 +01:00
578f203e17 add gemini-cli, mermaid-cli, update gitignore and mime apps 2025-12-15 20:22:28 +01:00
e4ab29ff6a fix vs code transparency in niri 2025-12-13 00:23:50 +01:00
68 changed files with 1971 additions and 1116 deletions

19
.gitignore vendored
View File

@@ -1,21 +1,30 @@
blender/
cake_wallet/
calibre/
cava/
chromium/
Code/
composer/
CuteCom/
dconf/
environment.d/
evince/
filezilla/
forge/
gdu/
GIMP/
git/
gnome-boxes/
gnuradio/
go/
gpu-screen-recorder/
gqrx/
gtk-*.0/
htop/
hypr/
inkscape/
lazygit/
libreoffice/
libvirt/
matplotlib/
matugen/
monero-project/
@@ -33,13 +42,21 @@ revolution-pi-deployer/
stylix/
swww/
systemd/
Upscayl/
Vector 35/
Vencord/
VirtualBox/
vlc/
wal/
wallust/
wireshark
kdeglobals
kdenliverc
kleopatrarc
kritadisplayrc
kritarc
kstarsrc
QtProject.conf
# Files generated by theme change

1
Kvantum/Base16Kvantum Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/Kvantum/Base16Kvantum

1
Kvantum/kvantum.kvconfig Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/Kvantum/kvantum.kvconfig

View File

@@ -1 +1 @@
/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-gnome.desktop
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/autostart/stylix-activate-gnome.desktop

View File

@@ -1 +1 @@
/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-kde.desktop
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/autostart/stylix-activate-kde.desktop

View File

@@ -1,18 +1,18 @@
#? Config file for btop v. 1.4.5
#? Config file for btop v.1.4.6
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
theme_background = true
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
truecolor = true
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
force_tty = false
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
@@ -22,10 +22,13 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
vim_keys = false
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
rounded_corners = true
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
terminal_sync = true
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
@@ -60,37 +63,40 @@ update_ms = 500
proc_sorting = "cpu direct"
#* Reverse sorting order, True or False.
proc_reversed = False
proc_reversed = false
#* Show processes as a tree.
proc_tree = False
proc_tree = false
#* Use the cpu graph colors in the process list.
proc_colors = True
proc_colors = true
#* Use a darkening gradient in the process list.
proc_gradient = True
proc_gradient = true
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
proc_per_core = false
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
proc_mem_bytes = true
#* Show cpu graph for each process.
proc_cpu_graphs = True
proc_cpu_graphs = true
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
proc_info_smaps = false
#* Show proc box on left side of screen instead of right.
proc_left = False
proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
proc_filter_kernel = false
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
proc_aggregate = false
#* Should cpu and memory usage display be preserved for dead processes when paused.
keep_dead_proc_usage = false
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
@@ -104,28 +110,28 @@ cpu_graph_lower = "Auto"
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
cpu_invert_lower = true
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
cpu_single_graph = false
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
cpu_bottom = false
#* Shows the system uptime in the CPU box.
show_uptime = True
show_uptime = true
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = True
show_cpu_watts = true
#* Show cpu temperature.
check_temp = True
check_temp = true
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
show_coretemp = true
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
@@ -137,17 +143,20 @@ cpu_core_map = ""
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
base_10_sizes = false
#* Show CPU frequency.
show_cpu_freq = True
show_cpu_freq = true
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
freq_mode = "first"
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
background_update = true
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
@@ -157,43 +166,43 @@ custom_cpu_name = ""
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
mem_graphs = true
#* Show mem box below net box instead of above.
mem_below_net = False
mem_below_net = false
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
zfs_arc_cached = true
#* If swap memory should be shown in memory box.
show_swap = True
show_swap = true
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
swap_disk = true
#* If mem box should be split to also show disks info.
show_disks = True
show_disks = true
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
only_physical = true
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
use_fstab = true
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
zfs_hide_datasets = false
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
disk_free_priv = false
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
show_io_stat = true
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
io_mode = false
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
io_graph_combined = false
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
@@ -205,10 +214,10 @@ net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
net_auto = true
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
net_sync = true
#* Starts with the Network Interface specified here.
net_iface = ""
@@ -217,26 +226,32 @@ net_iface = ""
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
show_battery = true
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
show_battery_watts = true
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Automatically save current settings to config file on exit.
save_config_on_exit = true
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
nvml_measure_pcie_speeds = true
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True
rsmi_measure_pcie_speeds = true
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
gpu_mirror_graph = true
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""

34
evince/print-settings Normal file
View File

@@ -0,0 +1,34 @@
[Print Settings]
cups-ColorModel=RGB
evince-print-setting-page-autorotate=true
cups-OutputBin=FaceUp
media-type=Stationery
cups-MediaType=Stationery
cups-job-priority=50
cups-number-up=1
evince-print-setting-page-size=false
cover-before=none
evince-print-setting-page-scale=1
cups-print-scaling=auto
print-at-time=
output-bin=FaceUp
cover-after=none
print-at=now
printer=CICIA_DRUKARKA
cups-cupsPrintQuality=Normal
cups-job-sheets=none,none
resolution=120
resolution-x=120
cups-Resolution=120x72dpi
resolution-y=72
[Page Setup]
PPDName=A4
DisplayName=A4
Width=210
Height=297
MarginTop=6.3499999999999996
MarginBottom=14.224
MarginLeft=6.3499999999999996
MarginRight=6.3499999999999996
Orientation=portrait

View File

@@ -1,8 +1,8 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "/home/lusia/.config/fastfetch/logo.jpg",
"type": "kitty",
"source": "/home/lusia/.config/fastfetch/logo.png",
"type": "kitty-direct",
"width": 22,
"height": 11
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

BIN
fastfetch/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

View File

@@ -0,0 +1,14 @@
# This file was created by fish when upgrading to version 4.3, to migrate
# the 'fish_key_bindings' variable from its old default scope (universal)
# to its new default scope (global). We recommend you delete this file
# and configure key bindings in ~/.config/fish/config.fish if needed.
# set --global fish_key_bindings fish_default_key_bindings
# Prior to version 4.3, fish shipped an event handler that runs
# `set --universal fish_key_bindings fish_default_key_bindings`
# whenever the fish_key_bindings variable is erased.
# This means that as long as any fish < 4.3 is still running on this system,
# we cannot complete the migration.
# As a workaround, erase the universal variable at every shell startup.
set --erase --universal fish_key_bindings

View File

@@ -0,0 +1,37 @@
# This file was created by fish when upgrading to version 4.3, to migrate
# theme variables from universal to global scope.
# Don't edit this file, as it will be written by the web-config tool (`fish_config`).
# To customize your theme, delete this file and see
# help interactive#syntax-highlighting
# or
# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING
# for appropriate commands to add to ~/.config/fish/config.fish instead.
# See also the release notes for fish 4.3.0 (run `help relnotes`).
set --global fish_color_autosuggestion brblack
set --global fish_color_cancel -r
set --global fish_color_command blue
set --global fish_color_comment red
set --global fish_color_cwd green
set --global fish_color_cwd_root red
set --global fish_color_end green
set --global fish_color_error brred
set --global fish_color_escape brcyan
set --global fish_color_history_current --bold
set --global fish_color_host normal
set --global fish_color_host_remote yellow
set --global fish_color_normal normal
set --global fish_color_operator brcyan
set --global fish_color_param cyan
set --global fish_color_quote yellow
set --global fish_color_redirection cyan --bold
set --global fish_color_search_match white --background=brblack
set --global fish_color_selection white --bold --background=brblack
set --global fish_color_status red
set --global fish_color_user brgreen
set --global fish_color_valid_path --underline
set --global fish_pager_color_completion normal
set --global fish_pager_color_description yellow -i
set --global fish_pager_color_prefix normal --bold --underline
set --global fish_pager_color_progress brwhite --background=cyan
set --global fish_pager_color_selected_background -r

View File

@@ -1,32 +1,4 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR __fish_initialized:4300
SETUVAR fish_user_paths:/home/lusia/\x2ecargo/bin/

View File

@@ -1,21 +1,21 @@
system: "base16"
name: "Pywal"
author: "Pywal"
variant: "dark"
system: base16
name: pywal Generated
author: wl
variant: dark
palette:
base00: "#130c15"
base01: "#130c15"
base02: "#a58a9e"
base03: "#a58a9e"
base04: "#edc6e2"
base05: "#edc6e2"
base06: "#edc6e2"
base07: "#edc6e2"
base08: "#6D6598"
base09: "#6D6598"
base0A: "#DF54BC"
base0B: "#986798"
base0C: "#E38CB4"
base0D: "#DC68A4"
base0E: "#5F90C4"
base0F: "#6D6598"
base0E: '#af85bd'
base09: '#ec6ba0'
base08: '#ec6ba0'
base0B: '#d76ec9'
base0C: '#d687b7'
base05: '#c3c0c2'
base07: '#c3c0c3'
base03: '#695669'
base00: '#10060f'
base0F: '#ec6ba0'
base0D: '#b876c7'
base06: '#c3c0c3'
base02: '#695669'
base0A: '#aa77cb'
base04: '#c3c0c3'
base01: '#100610'

356
home-manager/flake.lock generated
View File

@@ -21,17 +21,17 @@
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"lastModified": 1765809053,
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
}
},
@@ -68,14 +68,77 @@
"type": "github"
}
},
"binaryninja": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772326151,
"narHash": "sha256-W6GtPpGuw6+QzWsFE9XddhWQHISBps4wwbDwGMheaVQ=",
"owner": "jchv",
"repo": "nix-binary-ninja",
"rev": "a71d24df00d819c5048f33e2b6633941b7b9d599",
"type": "github"
},
"original": {
"owner": "jchv",
"repo": "nix-binary-ninja",
"type": "github"
}
},
"claude-code-nix": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1773451839,
"narHash": "sha256-a7yGiEC2Nh4z7b5aR9sTPDnFOt7ykYQ3yU/MEdhKUWA=",
"owner": "sadjow",
"repo": "claude-code-nix",
"rev": "e64e47c888e3eb19d8c58c91046310582634271c",
"type": "github"
},
"original": {
"owner": "sadjow",
"repo": "claude-code-nix",
"type": "github"
}
},
"codex-cli-nix": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1773189244,
"narHash": "sha256-ctI2WntyGzjz7tCcGcG+l+ryV6fJsDvAySPtJH7ia+4=",
"owner": "sadjow",
"repo": "codex-cli-nix",
"rev": "60da592dbbfceec9adb8b84ea49e88b6663976ae",
"type": "github"
},
"original": {
"owner": "sadjow",
"repo": "codex-cli-nix",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1764724327,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
"lastModified": 1764873433,
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
"type": "github"
},
"original": {
@@ -92,11 +155,11 @@
]
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"lastModified": 1767609335,
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
"type": "github"
},
"original": {
@@ -105,6 +168,60 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@@ -125,11 +242,11 @@
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1764524476,
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab"
},
"original": {
@@ -147,11 +264,11 @@
]
},
"locked": {
"lastModified": 1765480374,
"narHash": "sha256-HlbvQAqLx7WqZFFQZ8nu5UUJAVlXiV/kqKbyueA8srw=",
"lastModified": 1773422513,
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "39cb677ed9e908e90478aa9fe5f3383dfc1a63f3",
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
"type": "github"
},
"original": {
@@ -160,13 +277,35 @@
"type": "github"
}
},
"niri": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1773171230,
"narHash": "sha256-ZiGGjRL2H67GcL6BvZV99khW++aHpJ2NA4n71qZiJ9A=",
"owner": "niri-wm",
"repo": "niri",
"rev": "4a7e443b6c816e4f673f6e25cc0a5aa37697d667",
"type": "github"
},
"original": {
"owner": "niri-wm",
"ref": "wip/branch",
"repo": "niri",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1765186076,
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
"lastModified": 1773389992,
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github"
},
"original": {
@@ -176,18 +315,35 @@
"type": "github"
}
},
"nixpkgs-pre-ad01": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
}
},
"noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
],
"noctalia-qs": "noctalia-qs"
},
"locked": {
"lastModified": 1765571281,
"narHash": "sha256-4d7SYmjCD6xmohh+1FRhJHL9+G7MenY7GWWfli9ufY0=",
"lastModified": 1773498808,
"narHash": "sha256-YnSRPOQC+fwSE3aA2C1rt9zaI4i3S4LTYY/3fqmRM4s=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "bfce69d252b6f49dc47f731b9c48dccd3705ee1e",
"rev": "793771cd770431443d71e30ceede201048435a04",
"type": "github"
},
"original": {
@@ -196,6 +352,28 @@
"type": "github"
}
},
"noctalia-qs": {
"inputs": {
"nixpkgs": [
"noctalia",
"nixpkgs"
],
"systems": "systems_4"
},
"locked": {
"lastModified": 1773175685,
"narHash": "sha256-YOkWzVq7opym1ovJvSCvqpG6OCDGJwPo/EPeRxcGay4=",
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"rev": "6b9eceefde3d47ca83c544b54bcdd358be4cbd2f",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
@@ -208,11 +386,11 @@
]
},
"locked": {
"lastModified": 1764773531,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
"lastModified": 1767810917,
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
"type": "github"
},
"original": {
@@ -228,11 +406,11 @@
]
},
"locked": {
"lastModified": 1764663772,
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
"lastModified": 1773480707,
"narHash": "sha256-VkuO1LWpK7tS/YDmxJSDeONEwt1RFLPfOucQJwKnsV0=",
"owner": "outfoxxed",
"repo": "quickshell",
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
"rev": "1b2519d9f3d963e575b8a1ef08fab47c7af0d1b3",
"type": "github"
},
"original": {
@@ -243,26 +421,52 @@
},
"root": {
"inputs": {
"binaryninja": "binaryninja",
"claude-code-nix": "claude-code-nix",
"codex-cli-nix": "codex-cli-nix",
"home-manager": "home-manager",
"niri": "niri",
"nixpkgs": "nixpkgs",
"nixpkgs-pre-ad01": "nixpkgs-pre-ad01",
"noctalia": "noctalia",
"quickshell": "quickshell",
"rust-overlay": "rust-overlay",
"rust-overlay": "rust-overlay_2",
"stylix": "stylix"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"niri",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765507345,
"narHash": "sha256-fq34mBLvAgv93EuZjGp7cVV633pxnph9AVuB/Ql5y5Q=",
"lastModified": 1757989933,
"narHash": "sha256-9cpKYWWPCFhgwQTww8S94rTXgg8Q8ydFv9fXM6I8xQM=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "a9471b23bf656d69ceb2d5ddccdc5082d51fc0e3",
"rev": "8249aa3442fb9b45e615a35f39eca2fe5510d7c3",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1773457417,
"narHash": "sha256-waABTSxPdbxml4BhcabHhyQF02Qnj27qRU4ard0mTQo=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "055977c30249484010750e03074c744dcdaa0d23",
"type": "github"
},
"original": {
@@ -284,7 +488,7 @@
"nixpkgs"
],
"nur": "nur",
"systems": "systems",
"systems": "systems_5",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@@ -292,11 +496,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1765474444,
"narHash": "sha256-sDG+c73xEnIw1pFNRWffKDnTWiTuyZiEP+Iub0D3mWA=",
"lastModified": 1772296853,
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
"owner": "nix-community",
"repo": "stylix",
"rev": "dd14de4432a94e93e10d0159f1d411487e435e1e",
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
"type": "github"
},
"original": {
@@ -320,6 +524,66 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"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"
}
},
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
@@ -356,11 +620,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1763914658,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
"lastModified": 1767710407,
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
"type": "github"
},
"original": {
@@ -372,11 +636,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1764465359,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
"lastModified": 1767489635,
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
"type": "github"
},
"original": {
@@ -388,11 +652,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1764464512,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
"lastModified": 1767488740,
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
"type": "github"
},
"original": {

View File

@@ -3,6 +3,7 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-pre-ad01.url = "github:nixos/nixpkgs/0182a361324364ae3f436a63005877674cf45efb";
home-manager = {
url = "github:nix-community/home-manager";
@@ -28,20 +29,35 @@
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:niri-wm/niri/wip/branch";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { nixpkgs, home-manager, rust-overlay, stylix, ... }@inputs: {
homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
codex-cli-nix = {
url = "github:sadjow/codex-cli-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
claude-code-nix = {
url = "github:sadjow/claude-code-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
binaryninja = {
url = "github:jchv/nix-binary-ninja";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs: {
homeConfigurations.lusia = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [
stylix.homeModules.stylix
./noctalia.nix
inputs.stylix.homeModules.stylix
./home.nix
({ pkgs, ... }: {
nixpkgs.overlays = [ rust-overlay.overlays.default ];
home.packages = [ pkgs.rustup ];
})
];
extraSpecialArgs = { inherit inputs; };

View File

@@ -1,240 +1,18 @@
{ config, pkgs, inputs, ... }:
{ ... }:
{
imports = [
./modules/overlays.nix
./modules/packages.nix
./modules/theming.nix
./modules/programs/git.nix
./modules/programs/gpg-agent.nix
./modules/programs/obs-studio.nix
];
home.username = "lusia";
home.homeDirectory = "/home/lusia";
home.stateVersion = "24.11";
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
# Window manager & desktop environment
niri
swayidle
swww
kanshi
# System utilities & monitoring
btop
htop
fastfetch
dua
nh
dconf
gparted
mission-center
gnome-software
# CLI tools & utilities
ripgrep
fd
jq
entr
mdcat
sshpass
exiftool
# File managers & compression tools
yazi
nautilus
file-roller
p7zip
unzip
zip
unrar
# Media viewers & players
loupe
evince
vlc
mpv
zathura
# Media creation & editing
gimp
blender
ffmpeg
yt-dlp
waifu2x-converter-cpp
libheif
# Office & productivity
libreoffice-fresh
gnome-text-editor
gnome-calculator
obsidian
# Development tools
neovim
vscode.fhs
lazygit
cargo-cross
cargo-generate
claude-code
codex
probe-rs-tools
elf2uf2-rs
# Internet & networking
firefox-bin
filezilla
qbittorrent
tor-browser
nmap
gnome-network-displays
# Privacy & security
gnupg
pinentry-qt
kdePackages.kleopatra
monero-gui
# Python & AI
python314
openai-whisper
# Document processing
tectonic
# Theming
pywal
pywalfox-native
morewaita-icon-theme
# Wrap PrismLauncher to fix Minecraft GLFW Wayland issues
(pkgs.symlinkJoin {
name = "prismlauncher";
paths = [ pkgs.prismlauncher ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/prismlauncher \
--set SDL_VIDEODRIVER "x11"
'';
})
# Wrap Krita to work with XWayland (Krita doesn't support native Wayland)
(pkgs.symlinkJoin {
name = "krita";
paths = [ pkgs.krita ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/krita \
--set DISPLAY ":0" \
--set QT_AUTO_SCREEN_SCALE_FACTOR "0" \
--set QT_SCALE_FACTOR "2" \
--set QT_FONT_DPI "96"
'';
})
];
# Set dark mode and Nautilus preferences
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/nautilus/preferences" = {
show-image-thumbnails = "always";
};
};
};
# Set morewaita as the default icon theme
gtk = {
enable = true;
iconTheme = {
name = "MoreWaita";
package = pkgs.morewaita-icon-theme;
};
# Stylix manages theme, commenting out manual config
# theme = {
# name = "Adwaita-dark";
# package = pkgs.gnome-themes-extra;
# };
cursorTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
# Force dark mode preference for GTK3
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
# Force dark mode preference for GTK4
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
gtk.enable = true;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
qt = {
enable = true;
platformTheme.name = "adwaita";
style = {
name = "adwaita-dark";
};
};
# Enable and configure git
programs.git = {
enable = true;
settings = {
user.name = "Lukrecja";
user.email = "lusiaaa425@gmail.com";
credential.helper = "store";
};
};
# Configure GPG agent with pinentry
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-qt;
enableSshSupport = true;
};
# OBS with plugins
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
obs-vaapi
];
};
programs.home-manager.enable = true;
# Stylix theming
stylix = {
enable = true;
# Wallpaper required by Stylix (even though we use swww to actually display it)
image = ./wallpaper;
# Use pywal's color scheme instead of extracting from image
# sync-colors.sh will generate colors.yaml here
base16Scheme = ./colors.yaml;
# Use dark mode
polarity = "dark";
# Disable Qt theming (it's janky and doesn't apply everywhere)
# targets.qt.enable = false;
};
}

View File

@@ -0,0 +1,18 @@
{ pkgs, inputs, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
pinnedPkgs = inputs.nixpkgs-pre-ad01.legacyPackages.${system};
in {
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
inputs.rust-overlay.overlays.default
(final: prev: {
gqrx = pinnedPkgs.gqrx;
krita = pinnedPkgs.krita;
})
];
home.packages = [ pkgs.rustup ];
}

View File

@@ -0,0 +1,145 @@
{ pkgs, inputs, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
in {
home.packages = with pkgs; [
# Window manager & desktop environment
inputs.niri.packages.${system}.niri
inputs.noctalia.packages.${system}.default
inputs.quickshell.packages.${system}.default
swayidle
swww
kanshi
hyprlock
# System utilities & monitoring
btop
htop
fastfetch
dua
nh
dconf
gparted
mission-center
gnome-software
# CLI tools & utilities
ripgrep
fd
jq
entr
mdcat
sshpass
exiftool
# File managers & compression tools
yazi
nautilus
file-roller
p7zip
unzip
zip
unrar
# Media viewers & players
loupe
evince
vlc
mpv
zathura
# SDR
gqrx
gnuradio
gnuradioPackages.lora_sdr
# Media creation & editing
gimp
blender
ffmpeg
yt-dlp
waifu2x-converter-cpp
libheif
upscayl
inkscape
# Office & productivity
libreoffice-fresh
gnome-text-editor
gnome-calculator
obsidian
simple-scan
system-config-printer
# Development tools
neovim
vscode.fhs
lazygit
cargo-cross
cargo-generate
probe-rs-tools
elf2uf2-rs
dbeaver-bin
gnome-boxes
cutecom
inputs.binaryninja.packages.${system}.binary-ninja-free-wayland
helix
# AI development tools
inputs.claude-code-nix.packages.${system}.default
inputs.codex-cli-nix.packages.${system}.default
gemini-cli
# Internet & networking
firefox-bin
filezilla
qbittorrent
tor-browser
nmap
gnome-network-displays
# Privacy & security
gnupg
pinentry-qt
kdePackages.kleopatra
monero-gui
# Python & AI
python314
openai-whisper
# Document processing
tectonic
mermaid-cli
# Astronomy
stellarium
kstars
# Wrap PrismLauncher to fix Minecraft GLFW Wayland issues
(pkgs.symlinkJoin {
name = "prismlauncher";
paths = [ pkgs.prismlauncher ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/prismlauncher \
--set SDL_VIDEODRIVER "x11"
'';
})
# Wrap Krita to work with XWayland (Krita doesn't support native Wayland)
(pkgs.symlinkJoin {
name = "krita";
paths = [ pkgs.krita ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/krita \
--set DISPLAY ":0" \
--set QT_AUTO_SCREEN_SCALE_FACTOR "0" \
--set QT_SCALE_FACTOR "2" \
--set QT_FONT_DPI "96"
'';
})
];
}

View File

@@ -0,0 +1,15 @@
{ ... }:
{
programs.git = {
enable = true;
settings = {
user.name = "Lukrecja Pleskaczyńska";
user.email = "lukrecjaaa@proton.me";
credential.helper = "store";
http."https://git.bgs.local:3000/" = {
sslCAInfo = "/home/lusia/VSTech-vpn/bgs-git-ca.crt";
};
};
};
}

View File

@@ -0,0 +1,9 @@
{ pkgs, ... }:
{
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-qt;
enableSshSupport = true;
};
}

View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
obs-vaapi
];
};
}

View File

@@ -0,0 +1,62 @@
{ pkgs, ... }:
{
stylix = {
enable = true;
image = ../wallpaper;
base16Scheme = ../colors.yaml;
polarity = "dark";
targets.qt.enable = true;
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/nautilus/preferences" = {
show-image-thumbnails = "always";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "MoreWaita";
package = pkgs.morewaita-icon-theme;
};
cursorTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
gtk.enable = true;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
home.packages = with pkgs; [
pywal
pywalfox-native
morewaita-icon-theme
];
}

View File

@@ -1,18 +0,0 @@
{ pkgs, inputs, ... }:
{
# import the home manager module
#imports = [
# inputs.noctalia.homeModules.default
#];
# Install the package
home.packages = [
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
];
# configure options
#programs.noctalia-shell = {
# enable = true;
#};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 7.7 MiB

73
hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,73 @@
$font = Monospace
general {
hide_cursor = false
}
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background {
monitor =
path = screenshot
blur_passes = 4
}
source = $HOME/.cache/wal/colors-hyprland.conf
input-field {
monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.0) # no fill
outer_color = $color1 $color2 45deg
check_color = $color3 $color4 120deg
fail_color = $color5 $color6 40deg
font_color = $color15
fade_on_empty = false
rounding = 32
font_family = $font
placeholder_text = unlock me :3
fail_text = wrong you fucking idiot >:3
dots_text_format = ❤
dots_size = 0.5
dots_spacing = 0.3
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = $TIME
font_size = 90
font_family = $font
position = 0, 165
halign = center
valign = center
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y"
font_size = 25
font_family = $font
position = 0, 75
halign = center
valign = center
}

View File

@@ -2,6 +2,8 @@
# Include pywal colors
include ~/.cache/wal/colors-kitty.conf
allow_remote_control yes
# new tab in the same dir
map kitty_mod+t new_tab_with_cwd
# remove more text at once with ctrl+backspace
@@ -22,4 +24,4 @@ italic_font auto
bold_italic_font auto
# END_KITTY_FONTS
# background_opacity 0.95
background_opacity 0.65

View File

@@ -6,6 +6,8 @@ image/png=org.gnome.Loupe.desktop;
text/plain=org.gnome.TextEditor.desktop;
image/heif=org.gnome.Loupe.desktop;
application/pdf=org.pwmt.zathura-pdf-mupdf.desktop;
application/zip=org.gnome.FileRoller.desktop;
application/epub+zip=org.pwmt.zathura-pdf-mupdf.desktop;
[Default Applications]
text/markdown=org.gnome.TextEditor.desktop
@@ -15,3 +17,5 @@ text/plain=org.gnome.TextEditor.desktop
image/heif=org.gnome.Loupe.desktop
x-scheme-handler/discord-1216669957799018608=discord-1216669957799018608.desktop
application/pdf=org.pwmt.zathura-pdf-mupdf.desktop
application/zip=org.gnome.FileRoller.desktop
application/epub+zip=org.pwmt.zathura-pdf-mupdf.desktop

View File

@@ -3,35 +3,23 @@ layout {
background-color "transparent"
always-center-single-column
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
// off
width 1
active-color "#ffffff33"
default-column-width {
proportion 0.5
}
focus-ring {
off
}
border {
off
width 1
active-color "#555"
inactive-color "#222"
}
shadow {
off
softness 20
spread 5
offset x=0 y=5
}
tab-indicator {
width 2
gap -5
@@ -40,32 +28,22 @@ layout {
active-color "#fff"
inactive-color "#ffffff55"
}
insert-hint {
color "#ffffff22"
}
}
//cursor {
// xcursor-theme "Plasma-Overdose"
// xcursor-size 64
//}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
// Sticky, non-moving wallpaper
layer-rule {
match namespace="^swww-daemon$"
place-within-backdrop true
}
overview {
workspace-shadow {
off
}
}
animations {
window-open {
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
@@ -80,195 +58,365 @@ animations {
spring damping-ratio=1.0 stiffness=600 epsilon=0.0001
}
workspace-switch {
spring damping-ratio=1.0 stiffness=800 epsilon=0.00001
spring damping-ratio=1.0 stiffness=800 epsilon=1e-5
}
horizontal-view-movement {
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
}
}
// Open the Firefox picture-in-picture player as floating by default.
// Open the Firefox picture-in-picture player as floating by default
window-rule {
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
match app-id="firefox$" title="^Picture-in-Picture$"
open-floating true
}
// Example: enable rounded corners for all windows.
window-rule {
match app-id="^VirtualBox Machine$"
open-maximized true
open-maximized-to-edges true
}
window-rule {
geometry-corner-radius 20
clip-to-geometry true
}
window-rule {
geometry-corner-radius 20
clip-to-geometry true
}
window-rule {
match app-id="kitty"
opacity 0.9
}
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="kitty" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
window-rule {
match app-id="code"
opacity 0.95
}
opacity 0.85
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="code" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
window-rule {
match app-id="org.gnome.Nautilus"
opacity 0.85
background-effect {
blur true
noise 0.1
xray true
}
}
window-rule {
match app-id="org.gnome.Nautilus" is-floating=true
background-effect {
blur true
noise 0.1
xray false
}
}
layer-rule {
match namespace="^quickshell-overview$"
}
binds {
// Core Noctalia binds
Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
Mod+S { spawn "noctalia-shell" "ipc" "call" "sidePanel" "toggle"; }
Mod+Comma { spawn "noctalia-shell" "ipc" "call" "settings" "toggle"; }
Mod+Space {
spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"
}
Mod+Comma {
spawn "noctalia-shell" "ipc" "call" "settings" "toggle"
}
// Audio controls
XF86AudioRaiseVolume { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
XF86AudioLowerVolume { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
XF86AudioMute { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
XF86AudioRaiseVolume {
spawn "noctalia-shell" "ipc" "call" "volume" "increase"
}
XF86AudioLowerVolume {
spawn "noctalia-shell" "ipc" "call" "volume" "decrease"
}
XF86AudioMute {
spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"
}
// Brightness controls
XF86MonBrightnessUp { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
XF86MonBrightnessDown { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
XF86MonBrightnessUp {
spawn "noctalia-shell" "ipc" "call" "brightness" "increase"
}
XF86MonBrightnessDown {
spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"
}
// Utility shortcuts
//Mod+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; }
//Mod+C { spawn "noctalia-shell" "ipc" "call" "launcher" "calculator"; }
Mod+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
Mod+L {
spawn "hyprlock"
}
// Mod-Shift-/, which is usually the same as Mod-?,
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+T { spawn "kitty"; }
//Mod+Enter { spawn "kitty"; }
Mod+D { spawn "ignis" "toggle-window" "Launcher"; }
//Mod+L { spawn "hyprlock"; }
Mod+E { spawn "nautilus"; }
Mod+Escape { spawn "ignis" "toggle-window" "PowerMenu"; }
Mod+I { spawn "ignis" "toggle-window" "Settings"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
//XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
//XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
//XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
Mod+Q { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
Mod+Ctrl+Left { move-column-left; }
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
Mod+Ctrl+Home { move-column-to-first; }
Mod+Ctrl+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
Mod+Shift+Page_Down { move-workspace-down; }
Mod+Shift+Page_Up { move-workspace-up; }
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
Mod+WheelScrollRight { focus-column-right; }
Mod+WheelScrollLeft { focus-column-left; }
Mod+Ctrl+WheelScrollRight { move-column-right; }
Mod+Ctrl+WheelScrollLeft { move-column-left; }
Mod+Shift+Slash {
show-hotkey-overlay
}
Mod+T {
spawn "kitty"
}
Mod+E {
spawn "nautilus"
}
XF86AudioMicMute allow-when-locked=true {
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"
}
Mod+Q {
close-window
}
Mod+Left {
focus-column-left
}
Mod+Down {
focus-window-down
}
Mod+Up {
focus-window-up
}
Mod+Right {
focus-column-right
}
Mod+Ctrl+Left {
move-column-left
}
Mod+Ctrl+Down {
move-window-down
}
Mod+Ctrl+Up {
move-window-up
}
Mod+Ctrl+Right {
move-column-right
}
Mod+Home {
focus-column-first
}
Mod+End {
focus-column-last
}
Mod+Ctrl+Home {
move-column-to-first
}
Mod+Ctrl+End {
move-column-to-last
}
Mod+Shift+Left {
focus-monitor-left
}
Mod+Shift+Down {
focus-monitor-down
}
Mod+Shift+Up {
focus-monitor-up
}
Mod+Shift+Right {
focus-monitor-right
}
Mod+Shift+Ctrl+Left {
move-column-to-monitor-left
}
Mod+Shift+Ctrl+Down {
move-column-to-monitor-down
}
Mod+Shift+Ctrl+Up {
move-column-to-monitor-up
}
Mod+Shift+Ctrl+Right {
move-column-to-monitor-right
}
Mod+Page_Down {
focus-workspace-down
}
Mod+Page_Up {
focus-workspace-up
}
Mod+Ctrl+Page_Down {
move-column-to-workspace-down
}
Mod+Ctrl+Page_Up {
move-column-to-workspace-up
}
Mod+Shift+Page_Down {
move-workspace-down
}
Mod+Shift+Page_Up {
move-workspace-up
}
Mod+WheelScrollDown cooldown-ms=150 {
focus-workspace-down
}
Mod+WheelScrollUp cooldown-ms=150 {
focus-workspace-up
}
Mod+Ctrl+WheelScrollDown cooldown-ms=150 {
move-column-to-workspace-down
}
Mod+Ctrl+WheelScrollUp cooldown-ms=150 {
move-column-to-workspace-up
}
Mod+WheelScrollRight {
focus-column-right
}
Mod+WheelScrollLeft {
focus-column-left
}
Mod+Ctrl+WheelScrollRight {
move-column-right
}
Mod+Ctrl+WheelScrollLeft {
move-column-left
}
// Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that.
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
// Consume one window from the right to the bottom of the focused column.
//Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
Mod+Shift+R { switch-preset-window-height; }
Mod+Ctrl+R { reset-window-height; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
Mod+C { center-column; }
Mod+W { toggle-column-tabbed-display; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
// Finer height adjustments when in column with other windows.
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
Mod+V { toggle-window-floating; }
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
Mod+Shift+S { screenshot; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
Mod+Shift+Alt+R { spawn "ignis" "run-command" "recorder-record-screen"; }
Mod+Alt+R { spawn "ignis" "run-command" "recorder-record-portal"; }
Ctrl+Shift+Escape { spawn "missioncenter"; }
Mod+Shift+WheelScrollDown {
focus-column-right
}
Mod+Shift+WheelScrollUp {
focus-column-left
}
Mod+Ctrl+Shift+WheelScrollDown {
move-column-right
}
Mod+Ctrl+Shift+WheelScrollUp {
move-column-left
}
Mod+1 {
focus-workspace 1
}
Mod+2 {
focus-workspace 2
}
Mod+3 {
focus-workspace 3
}
Mod+4 {
focus-workspace 4
}
Mod+5 {
focus-workspace 5
}
Mod+6 {
focus-workspace 6
}
Mod+7 {
focus-workspace 7
}
Mod+8 {
focus-workspace 8
}
Mod+9 {
focus-workspace 9
}
Mod+Ctrl+1 {
move-column-to-workspace 1
}
Mod+Ctrl+2 {
move-column-to-workspace 2
}
Mod+Ctrl+3 {
move-column-to-workspace 3
}
Mod+Ctrl+4 {
move-column-to-workspace 4
}
Mod+Ctrl+5 {
move-column-to-workspace 5
}
Mod+Ctrl+6 {
move-column-to-workspace 6
}
Mod+Ctrl+7 {
move-column-to-workspace 7
}
Mod+Ctrl+8 {
move-column-to-workspace 8
}
Mod+Ctrl+9 {
move-column-to-workspace 9
}
Mod+BracketLeft {
consume-or-expel-window-left
}
Mod+BracketRight {
consume-or-expel-window-right
}
// Expel the bottom window from the focused column to the right.
Mod+Period {
expel-window-from-column
}
Mod+R {
switch-preset-column-width
}
Mod+Shift+R {
switch-preset-window-height
}
Mod+Ctrl+R {
reset-window-height
}
Mod+F {
maximize-column
}
Mod+Shift+F {
fullscreen-window
}
Mod+C {
center-column
}
Mod+Minus {
set-column-width "-10%"
}
Mod+Equal {
set-column-width "+10%"
}
// Finer height adjustments when in column with other windows.
Mod+Shift+Minus {
set-window-height "-10%"
}
Mod+Shift+Equal {
set-window-height "+10%"
}
// Move the focused window between the floating and the tiling layout.
Mod+V {
toggle-window-floating
}
Mod+Shift+V {
switch-focus-between-floating-and-tiling
}
Mod+Shift+S {
screenshot
}
Ctrl+Print {
screenshot-screen
}
Alt+Print {
screenshot-window
}
Ctrl+Shift+Escape {
spawn "missioncenter"
}
}
hotkey-overlay {
skip-at-startup
}
input {
touchpad {
tap
@@ -280,14 +428,10 @@ input {
}
}
}
output "eDP-1" {
mode "2880x1800@120.000"
//mode "1440x900@120.000"
//scale 1.0
scale 2.0
}
//spawn-at-startup "ignis" "init"
spawn-at-startup "swww-daemon"
spawn-at-startup "kanshi"
spawn-at-startup "noctalia-shell"

View File

@@ -1,327 +1,53 @@
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
imports = [
./hardware-configuration.nix
./modules/boot/bootloader.nix
./modules/boot/kernel.nix
./modules/boot/plymouth.nix
./modules/boot/tpm.nix
./modules/desktop/fonts.nix
./modules/desktop/greetd.nix
./modules/desktop/xdg.nix
./modules/desktop/xwayland.nix
./modules/filesystems.nix
./modules/hardware/bluetooth.nix
./modules/hardware/gpu.nix
./modules/hardware/power.nix
./modules/hardware/rtl-sdr.nix
./modules/hardware/scanner.nix
./modules/hardware/tablet.nix
./modules/hardware/udev.nix
./modules/networking/general.nix
./modules/networking/tailscale.nix
./modules/networking/vpn.nix
./modules/packages.nix
./modules/services/flatpak.nix
./modules/services/printing.nix
./modules/services/smb.nix
./modules/services/ssh.nix
./modules/users.nix
./modules/virtualization.nix
./modules/wireshark.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.resumeDevice = "/dev/mapper/luksroot";
# Pin Linux kernel to 6.12
boot.kernelPackages = pkgs.linuxPackages_6_12;
boot.extraModprobeConfig = ''
options mt7921_common disable_clc=1
options atkbd reset=1 softrepeat=1
options i8042 nomux=1 reset=1 nopnp=1 kbdreset=1 direct=1 dumbkbd=1
'';
# Kernel parameters for power saving
boot.kernelParams = [
# CRITICAL FIX: Disable ACPI for i8042 (ASUS BIOS bug workaround)
"i8042.noacpi" # Disable buggy ASUS ACPI keyboard controller
"i8042.reset=1" # Force reset i8042
"i8042.nomux=1" # No multiplexing
"i8042.nopnp=1" # Ignore PnP detection
"atkbd.softrepeat=1" # Software key repeat
"amd_pstate=active" # Use AMD P-State driver for better power management
"amd_pstate.shared_mem=1"
"pcie_aspm.policy=powersupersave" # Aggressive PCIe power management
"amdgpu.gpu_recovery=1" # Enable automatic GPU recovery
#"amdgpu.runpm=0" # Disable runtime PM (major hang cause)
###"amdgpu.dcdebugmask=0x400"
#"amdgpu.dcdebugmask=0x10" # Disable PSR (panel self-refresh)
#"amdgpu.ppfeaturemask=0xf7fff" # Disable GFXOFF
];
# Disable TPM
systemd.tpm2.enable = false;
boot.initrd.systemd.tpm2.enable = false;
#swapDevices = [{ file = "/swap/swapfile"; }];
# Override btrfs mount options from hardware-configuration.nix
fileSystems."/" = {
options = [ "subvol=@" "compress=zstd" "space_cache=v2" "noatime"
"autodefrag" "ssd" "discard=async" ];
};
fileSystems."/home" = {
options = [ "subvol=@home" "compress=zstd" "space_cache=v2" "noatime"
"autodefrag" "ssd" "discard=async" ];
};
fileSystems."/var/log" = {
options = [ "subvol=@log" "compress=zstd" "space_cache=v2" "noatime"
"autodefrag" "ssd" "discard=async" ];
};
fileSystems."/swap" = {
options = [ "subvol=@swap" "noatime" "ssd" "discard=async" ];
};
# Enable NetworkManager and set network host name
networking.networkmanager.enable = true;
networking.hostName = "lusia-laptop";
# NetworkManager power saving for WiFi
networking.networkmanager.wifi.powersave = true;
# Enable Tailscale
services.tailscale.enable = true;
# Trust the Tailscale interface
networking.firewall.trustedInterfaces = [ "tailscale0" ];
# Disable reverse path filtering for Tailscale ╎│
boot.kernel.sysctl."net.ipv4.conf.tailscale0.rp_filter" = 0;
# Enable resolved
services.resolved.enable = true;
# OpenVPN services
# VSTech VPN (with DNS for bgs.local domain)
services.openvpn.servers.vstech = {
config = ''
client
remote 51.83.143.81
proto udp
port 649
dev tun
topology subnet
ca /home/lusia/VSTech-vpn/ca.crt
cert /home/lusia/VSTech-vpn/Klient251.crt
key /home/lusia/VSTech-vpn/Klient251.key
tls-crypt /home/lusia/VSTech-vpn/ta.key
auth sha512
data-ciphers aes-256-cbc
data-ciphers-fallback aes-256-cbc
key-direction 1
keepalive 10 120
'';
updateResolvConf = false;
# Manually set DNS after connection
up = ''
${pkgs.systemd}/bin/resolvectl dns $dev 10.10.10.1
${pkgs.systemd}/bin/resolvectl domain $dev bgs.local
'';
down = ''
${pkgs.systemd}/bin/resolvectl revert $dev
'';
};
# CAT VPN
services.openvpn.servers.cat = {
config = ''
client
remote 79.133.193.211
proto tcp
port 1194
dev tun
topology subnet
ca /home/lusia/vpn/ca.crt
cert /home/lusia/vpn/client18.crt
key /home/lusia/vpn/client18.key
auth sha256
data-ciphers AES-256-CBC
key-direction 1
'';
updateResolvConf = true;
};
# Enable upower service
services.upower.enable = true;
# Set your time zone.
time.timeZone = "Europe/Warsaw";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
keyMap = "pl";
};
# Enable niri
# programs.niri.enable = true;
# Enable fish
programs.fish.enable = true;
# Enable greetd with tuigreet
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
user = "greeter";
};
};
};
# Essential for niri
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;
# XDG Portal for file pickers or screen sharing
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-gnome ];
config = {
common = {
default = [ "gtk" ];
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
};
};
};
# Enable dconf
programs.dconf.enable = true;
users.groups.plugdev = {};
users.users.lusia = {
isNormalUser = true;
description = "Lukrecja";
extraGroups = [ "wheel" "networkmanager" "docker" "plugdev" ];
initialPassword = "pass";
shell = pkgs.fish;
};
# Import udev rules for probe-rs
services.udev.packages = [
(pkgs.writeTextFile {
name = "probe-rs-udev-rules";
destination = "/etc/udev/rules.d/69-probe-rs.rules";
text = builtins.readFile ./udev-rules/69-probe-rs.rules;
})
];
console.keyMap = "pl";
hardware.enableAllFirmware = true;
services.openssh.enable = true;
security.sudo.enable = true;
# Enable xwayland
programs.xwayland.enable = true;
# Set a session variable for icon theme
environment.sessionVariables = rec {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
environment.systemPackages = with pkgs; [
git
curl
wget
vim
fish
kitty
#asusctl
powertop # For monitoring power consumption
openvpn
nodejs
gnumake
gcc
cmake
xwayland-satellite
busybox
libdecor
file
cifs-utils
samba
gvfs
];
# Fonts
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
pkgs.nerd-fonts.fira-code
];
# For SMB shares
services.gvfs.enable = true;
# Printers
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
services.printing = {
enable = true;
drivers = with pkgs; [
cups-filters
cups-browsed
];
};
# Enable Flatpaks
services.flatpak.enable = true;
# Enable Docker
virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "btrfs";
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Enable Bluetooth (but it will be blocked by default to save power)
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false; # Don't power on bluetooth at boot
# Enable OpenTabletDriver
hardware.opentabletdriver.enable = true;
hardware.uinput.enable = true;
boot.kernelModules = [ "uinput" ];
# Enable PPD for power options
services.power-profiles-daemon.enable = true;
# Enable AMD GPU graphics acceleration
hardware.graphics = {
enable = true;
enable32Bit = true; # For 32-bit applications/games
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.11"; # Did you read the comment?
system.stateVersion = "24.11";
}

46
nixos/flake.lock generated
View File

@@ -1,58 +1,24 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1765480374,
"narHash": "sha256-HlbvQAqLx7WqZFFQZ8nu5UUJAVlXiV/kqKbyueA8srw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "39cb677ed9e908e90478aa9fe5f3383dfc1a63f3",
"type": "github"
},
"original": {
"id": "home-manager",
"type": "indirect"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1765186076,
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
"owner": "NixOS",
"lastModified": 1773389992,
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1765311797,
"narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
}
}
},

View File

@@ -2,17 +2,13 @@
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
nixosConfigurations = {
lusia-laptop = nixpkgs.lib.nixosSystem {
outputs = inputs: {
nixosConfigurations.lusia-laptop = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
];
};
modules = [ ./configuration.nix ];
};
};
}

View File

@@ -1,13 +0,0 @@
{ config, pkgs, ... }:
{
home.username = "lusia";
home.homeDirectory = "/home/lusia";
home.stateVersion = "24.11";
programs.kitty = {
enable = true;
};
programs.home-manager.enable = true;
}

View File

@@ -0,0 +1,11 @@
{ ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.resumeDevice = "/dev/mapper/luksroot";
boot.consoleLogLevel = 3;
boot.initrd.systemd.enable = true;
boot.initrd.verbose = false;
boot.loader.timeout = 0;
}

View File

@@ -0,0 +1,29 @@
{ ... }:
{
boot.extraModprobeConfig = ''
options mt7921_common disable_clc=1
options atkbd reset=1 softrepeat=1
options i8042 nomux=1 reset=1 nopnp=1 kbdreset=1 direct=1 dumbkbd=1
'';
boot.kernelParams = [
# CRITICAL FIX: Disable ACPI for i8042 (ASUS BIOS bug workaround)
"i8042.noacpi"
"i8042.reset=1"
"i8042.nomux=1"
"i8042.nopnp=1"
"atkbd.softrepeat=1"
# AMD P-State driver for better power management
"amd_pstate=active"
"amd_pstate.shared_mem=1"
# GPU
"amdgpu.gpu_recovery=1"
"amdgpu.runpm=0"
"quiet"
"udev.log_level=3"
"systemd.show_status=auto"
];
boot.kernelModules = [ "usbmon" ];
}

View File

@@ -0,0 +1,8 @@
{ ... }:
{
boot.plymouth = {
enable = true;
theme = "bgrt";
};
}

View File

@@ -0,0 +1,6 @@
{ ... }:
{
systemd.tpm2.enable = false;
boot.initrd.systemd.tpm2.enable = false;
}

View File

@@ -0,0 +1,10 @@
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
nerd-fonts.fira-code
];
}

View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
user = "greeter";
};
};
};
}

View File

@@ -0,0 +1,22 @@
{ pkgs, ... }:
{
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;
programs.dconf.enable = true;
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-gnome
];
config = {
common = {
default = [ "gtk" ];
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
};
};
};
}

View File

@@ -0,0 +1,9 @@
{ ... }:
{
programs.xwayland.enable = true;
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
}

View File

@@ -0,0 +1,27 @@
{ ... }:
{
fileSystems."/" = {
options = [ "subvol=@" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
};
fileSystems."/home" = {
options = [ "subvol=@home" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
};
fileSystems."/var/log" = {
options = [ "subvol=@log" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
};
fileSystems."/swap" = {
options = [ "subvol=@swap" "noatime" "ssd" "discard=async" ];
};
swapDevices = [{ device = "/swap/swapfile"; }];
boot.kernel.sysctl = {
"vm.dirty_ratio" = 10;
"vm.dirty_background_ratio" = 5;
"vm.swappiness" = 10;
};
}

View File

@@ -0,0 +1,6 @@
{ ... }:
{
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false;
}

View File

@@ -0,0 +1,8 @@
{ ... }:
{
hardware.graphics = {
enable = true;
enable32Bit = true;
};
}

View File

@@ -0,0 +1,6 @@
{ ... }:
{
services.upower.enable = true;
services.power-profiles-daemon.enable = true;
}

View File

@@ -0,0 +1,11 @@
{ ... }:
{
hardware.rtl-sdr.enable = true;
boot.blacklistedKernelModules = [
"dvb_usb_rtl28xxu"
"rtl2832"
"rtl2830"
];
}

View File

@@ -0,0 +1,9 @@
{ ... }:
{
hardware.sane.enable = true;
environment.etc."sane.d/epsonds.conf".text = ''
net EPSOND80395.local
'';
}

View File

@@ -0,0 +1,7 @@
{ ... }:
{
hardware.opentabletdriver.enable = true;
hardware.uinput.enable = true;
boot.kernelModules = [ "uinput" ];
}

View File

@@ -0,0 +1,11 @@
{ pkgs, ... }:
{
services.udev.packages = [
(pkgs.writeTextFile {
name = "probe-rs-udev-rules";
destination = "/etc/udev/rules.d/69-probe-rs.rules";
text = builtins.readFile ../../udev-rules/69-probe-rs.rules;
})
];
}

View File

@@ -0,0 +1,11 @@
{ ... }:
{
networking.hostName = "lusia-laptop";
networking.networkmanager.enable = true;
networking.networkmanager.wifi.powersave = true;
networking.nameservers = [ "9.9.9.9" ];
services.resolved.enable = true;
}

View File

@@ -0,0 +1,11 @@
{ ... }:
{
services.tailscale.enable = true;
networking.firewall.trustedInterfaces = [ "tailscale0" ];
boot.kernel.sysctl = {
"net.ipv4.conf.tailscale0.rp_filter" = 0;
};
}

View File

@@ -0,0 +1,55 @@
{ pkgs, ... }:
{
# VSTech VPN (with DNS for bgs.local domain)
services.openvpn.servers.vstech = {
config = ''
client
remote 51.83.143.81
proto udp
port 649
dev tun
topology subnet
ca /home/lusia/VSTech-vpn/ca.crt
cert /home/lusia/VSTech-vpn/Klient251.crt
key /home/lusia/VSTech-vpn/Klient251.inline
tls-crypt /home/lusia/VSTech-vpn/ta.key
auth sha512
data-ciphers aes-256-cbc
data-ciphers-fallback aes-256-cbc
key-direction 1
keepalive 10 120
'';
updateResolvConf = false;
up = ''
${pkgs.systemd}/bin/resolvectl dns $dev 10.10.10.1
${pkgs.systemd}/bin/resolvectl domain $dev bgs.local
'';
down = ''
${pkgs.systemd}/bin/resolvectl revert $dev
'';
};
# CAT VPN
services.openvpn.servers.cat = {
config = ''
client
remote 79.133.193.211
proto tcp
port 1194
dev tun
topology subnet
ca /home/lusia/vpn/ca.crt
cert /home/lusia/vpn/client18.crt
key /home/lusia/vpn/client18.key
auth sha256
data-ciphers AES-256-CBC
key-direction 1
'';
updateResolvConf = true;
};
}

View File

@@ -0,0 +1,25 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
git
curl
wget
vim
fish
kitty
powertop
openvpn
nodejs
gnumake
gcc
cmake
xwayland-satellite
busybox
libdecor
file
cifs-utils
samba
gvfs
];
}

View File

@@ -0,0 +1,5 @@
{ ... }:
{
services.flatpak.enable = true;
}

View File

@@ -0,0 +1,17 @@
{ pkgs, ... }:
{
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
services.printing = {
enable = true;
drivers = with pkgs; [
cups-filters
cups-browsed
];
};
}

View File

@@ -0,0 +1,5 @@
{ ... }:
{
services.gvfs.enable = true;
}

View File

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

16
nixos/modules/users.nix Normal file
View File

@@ -0,0 +1,16 @@
{ pkgs, ... }:
{
users.groups.plugdev = {};
users.users.lusia = {
isNormalUser = true;
description = "Lukrecja";
extraGroups = [ "wheel" "networkmanager" "docker" "plugdev" "scanner" "lp" "wireshark" "libvirtd" "kvm" "vboxusers" "dialout" ];
initialPassword = "pass";
shell = pkgs.fish;
};
programs.fish.enable = true;
security.sudo.enable = true;
}

View File

@@ -0,0 +1,12 @@
{ ... }:
{
virtualisation.libvirtd.enable = true;
virtualisation.virtualbox.host.enable = true;
virtualisation.virtualbox.host.enableExtensionPack = true;
virtualisation.docker.enable = true;
boot.kernelModules = [ "kvm-amd" ];
}

View File

@@ -0,0 +1,6 @@
{ pkgs, ... }:
{
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
}

View File

@@ -2,14 +2,15 @@
"sources": [
{
"enabled": true,
"name": "Official Noctalia Plugins",
"name": "Noctalia Plugins",
"url": "https://github.com/noctalia-dev/noctalia-plugins"
}
],
"states": {
"catwalk": {
"enabled": true
"enabled": true,
"sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins"
}
},
"version": 1
"version": 2
}

View File

@@ -1,139 +1,181 @@
{
"appLauncher": {
"autoPasteClipboard": false,
"clipboardWatchImageCommand": "wl-paste --type image --watch cliphist store",
"clipboardWatchTextCommand": "wl-paste --type text --watch cliphist store",
"clipboardWrapText": true,
"customLaunchPrefix": "",
"customLaunchPrefixEnabled": false,
"density": "default",
"enableClipPreview": true,
"enableClipboardChips": true,
"enableClipboardHistory": false,
"pinnedExecs": [
"enableClipboardSmartIcons": true,
"enableSessionSearch": true,
"enableSettingsSearch": true,
"enableWindowsSearch": true,
"iconMode": "tabler",
"ignoreMouseInput": false,
"overviewLayer": false,
"pinnedApps": [
],
"position": "center",
"screenshotAnnotationTool": "",
"showCategories": true,
"showIconBackground": true,
"sortByMostUsed": true,
"terminalCommand": "kitty -e",
"useApp2Unit": false,
"viewMode": "list"
},
"audio": {
"cavaFrameRate": 60,
"externalMixer": "pwvucontrol || pavucontrol",
"mprisBlacklist": [
],
"preferredPlayer": "",
"visualizerQuality": "high",
"spectrumFrameRate": 60,
"visualizerType": "linear",
"volumeFeedback": false,
"volumeFeedbackSoundFile": "",
"volumeOverdrive": false,
"volumeStep": 5
},
"bar": {
"autoHideDelay": 500,
"autoShowDelay": 150,
"backgroundOpacity": 0,
"barType": "floating",
"capsuleColorKey": "none",
"capsuleOpacity": 1,
"contentPadding": 2,
"density": "default",
"exclusive": true,
"floating": false,
"marginHorizontal": 0.25,
"marginVertical": 0.25,
"displayMode": "always_visible",
"enableExclusionZoneInset": true,
"floating": true,
"fontScale": 1,
"frameRadius": 12,
"frameThickness": 8,
"hideOnOverview": false,
"marginHorizontal": 8,
"marginVertical": 5,
"middleClickAction": "none",
"middleClickCommand": "",
"middleClickFollowMouse": false,
"monitors": [
],
"outerCorners": true,
"mouseWheelAction": "none",
"mouseWheelWrap": true,
"outerCorners": false,
"position": "top",
"showCapsule": true,
"reverseScroll": false,
"rightClickAction": "controlCenter",
"rightClickCommand": "",
"rightClickFollowMouse": true,
"screenOverrides": [
],
"showCapsule": false,
"showOnWorkspaceSwitch": true,
"showOutline": false,
"useSeparateOpacity": false,
"widgetSpacing": 6,
"widgets": {
"center": [
],
"left": [
{
"compactMode": false,
"diskPath": "/",
"iconColor": "none",
"id": "SystemMonitor",
"showCpuCores": false,
"showCpuFreq": false,
"showCpuTemp": true,
"showCpuUsage": true,
"showDiskAvailable": false,
"showDiskUsage": false,
"showDiskUsageAsPercent": false,
"showGpuTemp": false,
"showLoadAverage": false,
"showMemoryAsPercent": false,
"showMemoryUsage": true,
"showNetworkStats": true,
"usePrimaryColor": true
"showSwapUsage": false,
"textColor": "none",
"useMonospaceFont": true,
"usePadding": false
},
{
"compactMode": false,
"hideMode": "hidden",
"hideWhenIdle": false,
"id": "MediaMini",
"maxWidth": 145,
"panelShowAlbumArt": true,
"scrollingMode": "hover",
"showAlbumArt": false,
"showArtistFirst": true,
"showProgressRing": true,
"showVisualizer": false,
"textColor": "none",
"useFixedWidth": false,
"visualizerType": "linear"
}
],
"right": [
{
"defaultSettings": {
},
"id": "plugin:catwalk"
},
{
"hideMode": "alwaysExpanded",
"icon": "heart",
"id": "CustomButton",
"leftClickExec": "bash /home/lusia/Downloads/sync-colors.sh --random",
"leftClickUpdateText": false,
"maxTextLength": {
"horizontal": 10,
"vertical": 10
},
"middleClickExec": "",
"middleClickUpdateText": false,
"parseJson": false,
"rightClickExec": "bash /home/lusia/Downloads/sync-colors.sh --random --light",
"rightClickUpdateText": false,
"showIcon": true,
"textCollapse": "",
"textCommand": "",
"textIntervalMs": 3000,
"textStream": false,
"wheelDownExec": "",
"wheelDownUpdateText": false,
"wheelExec": "",
"wheelMode": "unified",
"wheelUpExec": "",
"wheelUpUpdateText": false,
"wheelUpdateText": false
},
{
"hideWhenZero": true,
"hideWhenZeroUnread": false,
"iconColor": "none",
"id": "NotificationHistory",
"showUnreadBadge": true
"showUnreadBadge": true,
"unreadBadgeColor": "primary"
},
{
"deviceNativePath": "",
"displayMode": "onhover",
"hideIfIdle": false,
"hideIfNotDetected": true,
"id": "Battery",
"showNoctaliaPerformance": false,
"showPowerProfiles": false,
"warningThreshold": 30
"showPowerProfiles": false
},
{
"displayMode": "onhover",
"id": "WiFi"
"iconColor": "none",
"id": "Network",
"textColor": "none"
},
{
"displayMode": "onhover",
"id": "Bluetooth"
"iconColor": "none",
"id": "Bluetooth",
"textColor": "none"
},
{
"displayMode": "onhover",
"id": "Volume"
"iconColor": "none",
"id": "Volume",
"middleClickCommand": "pwvucontrol || pavucontrol",
"textColor": "none"
},
{
"applyToAllMonitors": false,
"displayMode": "onhover",
"id": "Brightness"
"iconColor": "none",
"id": "Brightness",
"textColor": "none"
},
{
"clockColor": "none",
"customFont": "",
"formatHorizontal": "HH:mm:ss",
"formatVertical": "HH mm - dd MM",
"id": "Clock",
"useCustomFont": false,
"usePrimaryColor": true
"tooltipFormat": "HH:mm ddd, MMM dd",
"useCustomFont": false
},
{
"colorizeDistroLogo": false,
@@ -148,16 +190,14 @@
}
},
"brightness": {
"backlightDeviceMappings": [
],
"brightnessStep": 5,
"enableDdcSupport": false,
"enforceMinimum": true
},
"calendar": {
"cards": [
{
"enabled": true,
"id": "timer-card"
},
{
"enabled": true,
"id": "weather-card"
@@ -174,10 +214,10 @@
},
"colorSchemes": {
"darkMode": true,
"generateTemplatesForPredefined": true,
"generationMethod": "tonal-spot",
"manualSunrise": "06:30",
"manualSunset": "18:30",
"matugenSchemeType": "scheme-neutral",
"monitorForColors": "",
"predefinedScheme": "Monochrome",
"schedulingMode": "off",
"useWallpaperColors": false
@@ -205,6 +245,7 @@
"id": "media-sysmon-card"
}
],
"diskPath": "/",
"position": "close_to_bar_button",
"shortcuts": {
"left": [
@@ -214,9 +255,6 @@
{
"id": "Bluetooth"
},
{
"id": "ScreenRecorder"
},
{
"id": "WallpaperSelector"
}
@@ -237,53 +275,144 @@
]
}
},
"desktopWidgets": {
"enabled": false,
"gridSnap": false,
"gridSnapScale": false,
"monitorWidgets": [
{
"name": "eDP-1",
"widgets": [
]
}
],
"overviewEnabled": true
},
"dock": {
"animationSpeed": 1,
"backgroundOpacity": 1,
"colorizeIcons": false,
"deadOpacity": 0.6,
"displayMode": "always_visible",
"dockType": "floating",
"enabled": false,
"floatingRatio": 1,
"groupApps": false,
"groupClickAction": "cycle",
"groupContextMenuMode": "extended",
"groupIndicatorStyle": "dots",
"inactiveIndicators": false,
"indicatorColor": "primary",
"indicatorOpacity": 0.6,
"indicatorThickness": 3,
"launcherIconColor": "none",
"launcherPosition": "end",
"monitors": [
],
"onlySameOutput": true,
"pinnedApps": [
],
"pinnedStatic": false,
"position": "bottom",
"showDockIndicator": false,
"showLauncherIcon": false,
"sitOnFrame": false,
"size": 1
},
"general": {
"allowPanelsOnScreenWithoutBar": true,
"allowPasswordWithFprintd": false,
"animationDisabled": false,
"animationSpeed": 1,
"autoStartAuth": false,
"avatarImage": "/home/lusia/Downloads/lusia.jpg",
"boxRadiusRatio": 1,
"clockFormat": "hh\\nmm",
"clockStyle": "custom",
"compactLockScreen": true,
"dimmerOpacity": 0.6,
"enableBlurBehind": true,
"enableLockScreenCountdown": true,
"enableLockScreenMediaControls": false,
"enableShadows": true,
"forceBlackScreenCorners": true,
"iRadiusRatio": 1,
"keybinds": {
"keyDown": [
"Down"
],
"keyEnter": [
"Return",
"Enter"
],
"keyEscape": [
"Esc"
],
"keyLeft": [
"Left"
],
"keyRemove": [
"Del"
],
"keyRight": [
"Right"
],
"keyUp": [
"Up"
]
},
"language": "",
"lockOnSuspend": true,
"lockScreenAnimations": false,
"lockScreenBlur": 0,
"lockScreenCountdownDuration": 10000,
"lockScreenMonitors": [
],
"lockScreenTint": 0,
"passwordChars": false,
"radiusRatio": 1,
"reverseScroll": false,
"scaleRatio": 1,
"screenRadiusRatio": 1,
"shadowDirection": "bottom_right",
"shadowOffsetX": 2,
"shadowOffsetY": 3,
"showChangelogOnStartup": true,
"showHibernateOnLockScreen": false,
"showScreenCorners": true,
"showSessionButtonsOnLockScreen": true
"showSessionButtonsOnLockScreen": true,
"telemetryEnabled": false
},
"hooks": {
"darkModeChange": "",
"enabled": false,
"performanceModeDisabled": "",
"performanceModeEnabled": "",
"screenLock": "",
"screenUnlock": "",
"session": "",
"startup": "",
"wallpaperChange": ""
},
"idle": {
"customCommands": "[]",
"enabled": false,
"fadeDuration": 5,
"lockCommand": "",
"lockTimeout": 660,
"resumeLockCommand": "",
"resumeScreenOffCommand": "",
"resumeSuspendCommand": "",
"screenOffCommand": "",
"screenOffTimeout": 600,
"suspendCommand": "",
"suspendTimeout": 1800
},
"location": {
"analogClockInCalendar": false,
"firstDayOfWeek": 1,
"hideWeatherCityName": false,
"hideWeatherTimezone": false,
"name": "Poznań",
"showCalendarEvents": true,
"showCalendarWeather": true,
@@ -294,6 +423,15 @@
"weatherShowEffects": true
},
"network": {
"airplaneModeEnabled": false,
"bluetoothAutoConnect": true,
"bluetoothDetailsViewMode": "grid",
"bluetoothHideUnnamedDevices": true,
"bluetoothRssiPollIntervalMs": 10000,
"bluetoothRssiPollingEnabled": false,
"disableDiscoverability": false,
"networkPanelView": "wifi",
"wifiDetailsViewMode": "grid",
"wifiEnabled": true
},
"nightLight": {
@@ -305,10 +443,19 @@
"manualSunset": "18:30",
"nightTemp": "4000"
},
"noctaliaPerformance": {
"disableDesktopWidgets": true,
"disableWallpaper": true
},
"notifications": {
"backgroundOpacity": 1,
"clearDismissed": true,
"criticalUrgencyDuration": 15,
"density": "default",
"enableBatteryToast": true,
"enableKeyboardLayoutToast": true,
"enableMarkdown": false,
"enableMediaToast": false,
"enabled": true,
"location": "top_right",
"lowUrgencyDuration": 3,
@@ -317,6 +464,11 @@
"normalUrgencyDuration": 8,
"overlayLayer": true,
"respectExpireTimeout": false,
"saveToHistory": {
"critical": true,
"low": true,
"normal": true
},
"sounds": {
"criticalSoundFile": "",
"enabled": false,
@@ -341,138 +493,157 @@
],
"overlayLayer": true
},
"screenRecorder": {
"audioCodec": "opus",
"audioSource": "default_output",
"colorRange": "limited",
"directory": "/home/lusia/Videos",
"frameRate": 60,
"quality": "very_high",
"showCursor": true,
"videoCodec": "h264",
"videoSource": "portal"
"plugins": {
"autoUpdate": false
},
"sessionMenu": {
"countdownDuration": 10000,
"enableCountdown": true,
"largeButtonsLayout": "grid",
"largeButtonsStyle": false,
"position": "center",
"powerOptions": [
{
"action": "lock",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "1"
},
{
"action": "suspend",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "2"
},
{
"action": "reboot",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "3"
},
{
"action": "logout",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "4"
},
{
"action": "shutdown",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "5"
},
{
"action": "hibernate",
"command": "",
"countdownEnabled": true,
"enabled": true
"enabled": true,
"keybind": "6"
},
{
"action": "userspaceReboot",
"command": "",
"countdownEnabled": true,
"enabled": false,
"keybind": ""
},
{
"action": "rebootToUefi",
"command": "",
"countdownEnabled": true,
"enabled": true,
"keybind": "7"
}
],
"showHeader": true
"showHeader": true,
"showKeybinds": true
},
"settingsVersion": 28,
"settingsVersion": 58,
"systemMonitor": {
"batteryCriticalThreshold": 5,
"batteryWarningThreshold": 20,
"cpuCriticalThreshold": 90,
"cpuPollingInterval": 3000,
"cpuWarningThreshold": 80,
"criticalColor": "",
"diskAvailCriticalThreshold": 10,
"diskAvailWarningThreshold": 20,
"diskCriticalThreshold": 90,
"diskPollingInterval": 3000,
"diskWarningThreshold": 80,
"enableDgpuMonitoring": false,
"externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor",
"gpuCriticalThreshold": 90,
"gpuWarningThreshold": 80,
"memCriticalThreshold": 90,
"memPollingInterval": 3000,
"memWarningThreshold": 80,
"networkPollingInterval": 3000,
"swapCriticalThreshold": 90,
"swapWarningThreshold": 80,
"tempCriticalThreshold": 90,
"tempPollingInterval": 3000,
"tempWarningThreshold": 80,
"useCustomColors": false,
"warningColor": ""
},
"templates": {
"alacritty": false,
"cava": false,
"code": false,
"discord": false,
"emacs": false,
"enableUserTemplates": true,
"foot": false,
"fuzzel": false,
"ghostty": false,
"gtk": false,
"kcolorscheme": false,
"kitty": false,
"niri": false,
"pywalfox": false,
"qt": false,
"spicetify": false,
"telegram": false,
"vicinae": false,
"walker": false,
"wezterm": false
"activeTemplates": [
],
"enableUserTheming": false
},
"ui": {
"boxBorderEnabled": false,
"fontDefault": "Roboto",
"fontDefaultScale": 1,
"fontDefaultScale": 0.9,
"fontFixed": "DejaVu Sans Mono",
"fontFixedScale": 1,
"panelBackgroundOpacity": 1,
"fontFixedScale": 0.8,
"panelBackgroundOpacity": 0.4,
"panelsAttachedToBar": true,
"scrollbarAlwaysVisible": true,
"settingsPanelMode": "centered",
"tooltipsEnabled": true
"settingsPanelSideBarCardStyle": false,
"tooltipsEnabled": true,
"translucentWidgets": false
},
"wallpaper": {
"automationEnabled": false,
"directory": "/home/lusia/Pictures/Wallpapers",
"enableMultiMonitorDirectories": false,
"enabled": false,
"favorites": [
],
"fillColor": "#000000",
"fillMode": "crop",
"hideWallpaperFilenames": false,
"monitorDirectories": [
],
"overviewBlur": 0.4,
"overviewEnabled": false,
"overviewTint": 0.6,
"panelPosition": "follow_bar",
"randomEnabled": false,
"randomIntervalSec": 300,
"recursiveSearch": false,
"setWallpaperOnAllMonitors": true,
"showHiddenFiles": false,
"skipStartupTransition": false,
"solidColor": "#1a1a2e",
"sortOrder": "name",
"transitionDuration": 1500,
"transitionEdgeSmoothness": 0.05,
"transitionType": "random",
"useSolidColor": false,
"useWallhaven": false,
"viewMode": "single",
"wallhavenApiKey": "",
"wallhavenCategories": "111",
"wallhavenOrder": "desc",
"wallhavenPurity": "100",
"wallhavenQuery": "madoka",
"wallhavenRatios": "",
"wallhavenResolutionHeight": "",
"wallhavenResolutionMode": "atleast",
"wallhavenResolutionWidth": "",
"wallhavenSorting": "relevance"
"wallhavenSorting": "relevance",
"wallpaperChangeMode": "random"
}
}

View File

@@ -1,25 +1,25 @@
{
"LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" },
"NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" },
"base46": { "branch": "v3.0", "commit": "db58475d3fd2a16f9b1467d6895e3c4c195ed7dd" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"NvChad": { "branch": "v2.5", "commit": "f437558f23c8f50c36cd09748121ab2c822e8ec9" },
"base46": { "branch": "v3.0", "commit": "884b990dcdbe07520a0892da6ba3e8d202b46337" },
"blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
"conform.nvim": { "branch": "master", "commit": "40dcec5555f960b0a04340d76eabdf4efe78599d" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
"nvim-tree.lua": { "branch": "master", "commit": "e397756d2a79d74314ea4cd3efc41300e91c0ff0" },
"nvim-lspconfig": { "branch": "master", "commit": "2163c54bb6cfec53e3e555665ada945b8c8331b9" },
"nvim-tree.lua": { "branch": "master", "commit": "4b30847c91d498446cb8440c03031359b045e050" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
"nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" },
"ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" },
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@@ -4,31 +4,11 @@ local servers = { "html", "cssls", "rust_analyzer" }
vim.lsp.enable(servers)
-- Configure rust-analyzer with enhanced settings
-- Project-specific settings (features, target, etc.) go in rust-analyzer.toml
vim.lsp.config.rust_analyzer = {
cmd = { "rust-analyzer" },
filetypes = { "rust" },
root_markers = { "Cargo.toml", "rust-project.json" },
settings = {
["rust-analyzer"] = {
cargo = {
allFeatures = true,
loadOutDirsFromCheck = true,
buildScripts = {
enable = true,
},
},
checkOnSave = true,
check = {
command = "clippy",
},
procMacro = {
enable = true,
},
diagnostics = {
enable = true,
},
},
},
}
-- read :h vim.lsp.config for changing options of lsp servers

View File

@@ -27,8 +27,8 @@ return {
},
},
keymap = {
["<CR>"] = { "fallback" }, -- Enter only inserts newline, doesn't accept
["<Tab>"] = { "select_and_accept", "snippet_forward", "fallback" }, -- Tab accepts
["<CR>"] = { "accept", "fallback" }, -- Enter accepts only when an item is selected; otherwise newline
["<Esc>"] = { "cancel", "fallback" }, -- Esc closes completion and stays in insert mode when menu is visible
},
},
},

8
simple-scan/state Normal file
View File

@@ -0,0 +1,8 @@
[window]
width=712
height=858
is-maximized=false
is-fullscreen=false
[scanner]
scan-type=single

33
wl/config.toml Normal file
View File

@@ -0,0 +1,33 @@
[paths]
wallpapers_dir = "/home/lusia/Pictures/Wallpapers"
config_dir = "/home/lusia/.config/wl"
swww_current = "/home/lusia/.config/swww/current-wallpaper"
home_manager_wallpaper = "/home/lusia/.config/home-manager/wallpaper"
home_manager_colors = "/home/lusia/.config/home-manager/colors.yaml"
noctalia_colors = "/home/lusia/.config/noctalia/colors.json"
nvchad_theme = "/home/lusia/.config/nvim/lua/themes/pywal.lua"
[backends]
default = "pywal"
pywal_enabled = true
builtin_enabled = true
material_enabled = true
catppuccin_enabled = true
[tui]
image_protocol = "auto"
thumbnail_size = 128
show_thumbnails = true
[history]
max_entries = 100
enable_favorites = true
[integrations]
swww = true
noctalia = true
stylix = true
nvchad = true
pywalfox = true
neovim = true
noctalia_shell = true

10
yazi/yazi.toml Normal file
View File

@@ -0,0 +1,10 @@
[opener]
play = [
{ run = 'vlc "$@"', orphan = true, for = "unix" },
]
edit = [
{ run = 'nvim "$@"', block = true, for = "unix" },
]
open = [
{ run = 'xdg-open "$@"', desc = "Open" },
]