init
This commit is contained in:
52
.gitignore
vendored
Normal file
52
.gitignore
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
blender/
|
||||
cava/
|
||||
Code/
|
||||
composer/
|
||||
dconf/
|
||||
environment.d/
|
||||
filezilla/
|
||||
forge/
|
||||
gdu/
|
||||
GIMP/
|
||||
git/
|
||||
go/
|
||||
gpu-screen-recorder/
|
||||
gtk-*.0/
|
||||
htop/
|
||||
hypr/
|
||||
lazygit/
|
||||
libreoffice/
|
||||
matplotlib/
|
||||
matugen/
|
||||
monero-project/
|
||||
mpv/
|
||||
nautilus/
|
||||
noctalia/plugins/
|
||||
obs-studio/
|
||||
OpenTabletDriver/
|
||||
procps/
|
||||
pulse/
|
||||
qBittorrent/
|
||||
qt*ct/
|
||||
revolution-pi-deployer/
|
||||
stylix/
|
||||
swww/
|
||||
systemd/
|
||||
Vencord/
|
||||
vlc/
|
||||
wal/
|
||||
wallust/
|
||||
kleopatrarc
|
||||
kritadisplayrc
|
||||
kritarc
|
||||
QtProject.conf
|
||||
|
||||
# Files generated by theme change
|
||||
swww/current-wallpaper
|
||||
noctalia/colors.json
|
||||
home-manager/wallpaper
|
||||
home-manager/colors.yaml
|
||||
nvim/lua/themes/
|
||||
kitty/themes/
|
||||
kitty/colors.conf
|
||||
kitty/current-theme.conf
|
||||
1
autostart/stylix-activate-gnome.desktop
Symbolic link
1
autostart/stylix-activate-gnome.desktop
Symbolic link
@@ -0,0 +1 @@
|
||||
/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-gnome.desktop
|
||||
1
autostart/stylix-activate-kde.desktop
Symbolic link
1
autostart/stylix-activate-kde.desktop
Symbolic link
@@ -0,0 +1 @@
|
||||
/nix/store/vmvp8zz4lmsc9shdbcwkds15ra7jp38q-home-manager-files/.config/autostart/stylix-activate-kde.desktop
|
||||
257
btop/btop.conf
Normal file
257
btop/btop.conf
Normal file
@@ -0,0 +1,257 @@
|
||||
#? Config file for btop v. 1.4.5
|
||||
|
||||
#* 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
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
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
|
||||
|
||||
#* 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.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||
|
||||
#* 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
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = 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.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_gpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "mem proc cpu net"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 500
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu direct"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = False
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
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
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
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
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = 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.
|
||||
cpu_graph_upper = "Auto"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||
show_gpu_info = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
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 temperature.
|
||||
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
|
||||
|
||||
#* 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.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
|
||||
#* 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
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
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
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
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".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
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
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||
base_10_bitrate = "Auto"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
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
|
||||
|
||||
#* Set loglevel for "~/.config/btop/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"
|
||||
|
||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||
nvml_measure_pcie_speeds = True
|
||||
|
||||
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||
rsmi_measure_pcie_speeds = True
|
||||
|
||||
#* Horizontally mirror the GPU graph.
|
||||
gpu_mirror_graph = True
|
||||
|
||||
#* Custom gpu0 model name, empty string to disable.
|
||||
custom_gpu_name0 = ""
|
||||
|
||||
#* Custom gpu1 model name, empty string to disable.
|
||||
custom_gpu_name1 = ""
|
||||
|
||||
#* Custom gpu2 model name, empty string to disable.
|
||||
custom_gpu_name2 = ""
|
||||
|
||||
#* Custom gpu3 model name, empty string to disable.
|
||||
custom_gpu_name3 = ""
|
||||
|
||||
#* Custom gpu4 model name, empty string to disable.
|
||||
custom_gpu_name4 = ""
|
||||
|
||||
#* Custom gpu5 model name, empty string to disable.
|
||||
custom_gpu_name5 = ""
|
||||
64
ccstatusline/settings.json
Normal file
64
ccstatusline/settings.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"version": 3,
|
||||
"lines": [
|
||||
[
|
||||
{
|
||||
"id": "3",
|
||||
"type": "context-length",
|
||||
"color": "ansi256:1"
|
||||
},
|
||||
{
|
||||
"id": "ef82dd4e-d238-4b4a-a40e-f78eb797dd75",
|
||||
"type": "context-percentage",
|
||||
"color": "ansi256:2",
|
||||
"bold": false
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"type": "git-branch",
|
||||
"color": "ansi256:3"
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
"type": "git-changes",
|
||||
"color": "ansi256:4"
|
||||
},
|
||||
{
|
||||
"id": "6ed16cdd-0125-4a2b-90eb-bd9054c56105",
|
||||
"type": "block-timer",
|
||||
"color": "ansi256:10",
|
||||
"bold": false
|
||||
},
|
||||
{
|
||||
"id": "70de37e7-ab8d-4314-aa3f-927f15cf8e7a",
|
||||
"type": "session-cost",
|
||||
"color": "ansi256:6"
|
||||
}
|
||||
],
|
||||
[],
|
||||
[]
|
||||
],
|
||||
"flexMode": "full-minus-40",
|
||||
"compactThreshold": 60,
|
||||
"colorLevel": 2,
|
||||
"defaultPadding": " ",
|
||||
"inheritSeparatorColors": false,
|
||||
"globalBold": false,
|
||||
"powerline": {
|
||||
"enabled": false,
|
||||
"separators": [
|
||||
""
|
||||
],
|
||||
"separatorInvertBackground": [
|
||||
false
|
||||
],
|
||||
"startCaps": [
|
||||
""
|
||||
],
|
||||
"endCaps": [
|
||||
""
|
||||
],
|
||||
"theme": "custom",
|
||||
"autoAlign": false
|
||||
}
|
||||
}
|
||||
50
fastfetch/config.jsonc
Normal file
50
fastfetch/config.jsonc
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "/home/lusia/.config/fastfetch/logo.jpg",
|
||||
"type": "kitty",
|
||||
"width": 22,
|
||||
"height": 11
|
||||
},
|
||||
"display": {
|
||||
"separator": " ",
|
||||
"color": {
|
||||
"keys": "magenta"
|
||||
},
|
||||
"size": {
|
||||
"ndigits": 0,
|
||||
"maxPrefix": "MB"
|
||||
},
|
||||
"key": {
|
||||
"type": "icon"
|
||||
}
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"color": {
|
||||
"user": "green",
|
||||
"at": "red",
|
||||
"host": "blue"
|
||||
}
|
||||
},
|
||||
"os",
|
||||
"kernel",
|
||||
"shell",
|
||||
"terminal",
|
||||
"wm",
|
||||
"cpu",
|
||||
"memory",
|
||||
"packages",
|
||||
"uptime",
|
||||
{
|
||||
"type": "colors",
|
||||
"key": "Colors",
|
||||
"symbol": "circle",
|
||||
"block": {
|
||||
"range": [1, 6]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
fastfetch/logo.jpg
Normal file
BIN
fastfetch/logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 152 KiB |
15
fish/config.fish
Normal file
15
fish/config.fish
Normal file
@@ -0,0 +1,15 @@
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
|
||||
function fish_greeting
|
||||
set_color --bold magenta
|
||||
echo "₊˚✧ 𝔀𝓮𝓵𝓬𝓸𝓶𝓮 𝓽𝓸 𝓯𝓲𝓼𝓱 ✧˚₊"
|
||||
set_color --dim magenta
|
||||
echo -n "♡ "
|
||||
set_color --italic white
|
||||
echo -n "\"Something tells me everything is not going to be fine.\" "
|
||||
set_color --dim magenta
|
||||
echo "- Twilight Sparkle ♡"
|
||||
set_color normal
|
||||
end
|
||||
32
fish/fish_variables
Normal file
32
fish/fish_variables
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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_user_paths:/home/lusia/\x2ecargo/bin/
|
||||
4
fish/functions/hm-switch.fish
Normal file
4
fish/functions/hm-switch.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function hm-switch --wraps='nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager' --wraps='nh home switch ~/.config/home-manager' --description 'alias hm-switch=nh home switch ~/.config/home-manager'
|
||||
nh home switch ~/.config/home-manager $argv
|
||||
|
||||
end
|
||||
4
fish/functions/hm-update.fish
Normal file
4
fish/functions/hm-update.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function hm-update --wraps='nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager' --description 'alias hm-update=nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager'
|
||||
nix flake update --flake ~/.config/home-manager && nh home switch ~/.config/home-manager $argv
|
||||
|
||||
end
|
||||
3
fish/functions/os-switch.fish
Normal file
3
fish/functions/os-switch.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function os-switch --wraps='nh os switch /home/lusia/.config/nixos' --description 'alias os-switch=nh os switch /home/lusia/.config/nixos'
|
||||
nh os switch /home/lusia/.config/nixos $argv
|
||||
end
|
||||
3
fish/functions/os-update.fish
Normal file
3
fish/functions/os-update.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function os-update --wraps='sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos' --description 'alias os-update=sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos'
|
||||
sudo nix flake update --flake /home/lusia/.config/nixos && nh os switch /home/lusia/.config/nixos $argv
|
||||
end
|
||||
4
fish/functions/wl.fish
Normal file
4
fish/functions/wl.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function wl --wraps='bash sync-colors.sh' --wraps='bash /home/lusia/Downloads/sync-colors.sh' --description 'alias wl=bash /home/lusia/Downloads/sync-colors.sh'
|
||||
bash /home/lusia/Downloads/sync-colors.sh $argv
|
||||
|
||||
end
|
||||
407
home-manager/flake.lock
generated
Normal file
407
home-manager/flake.lock
generated
Normal file
@@ -0,0 +1,407 @@
|
||||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755819240,
|
||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1754405784,
|
||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1760703920,
|
||||
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732806396,
|
||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764724327,
|
||||
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1764524476,
|
||||
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"owner": "GNOME",
|
||||
"ref": "gnome-49",
|
||||
"repo": "gnome-shell",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765461410,
|
||||
"narHash": "sha256-AVZ1y5tfTGqf5zJx6uY52KHN2pP9gGF9RMQ3meBVKIg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7b34e428f31ce52baabda53e52bf14002e1c0625",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1765186076,
|
||||
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"noctalia": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765420707,
|
||||
"narHash": "sha256-lX0WxWosQbm3DrZhscVTiLLpJcoZvaQaZoP+eNt75wE=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "298b2f5c794d4641cde21cf20422224bf8a60f99",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764773531,
|
||||
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"quickshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764663772,
|
||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
||||
"owner": "outfoxxed",
|
||||
"repo": "quickshell",
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "outfoxxed",
|
||||
"repo": "quickshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"noctalia": "noctalia",
|
||||
"quickshell": "quickshell",
|
||||
"rust-overlay": "rust-overlay",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765465581,
|
||||
"narHash": "sha256-fCXT0aZXmTalM3NPCTedVs9xb0egBG5BOZkcrYo5PGE=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "99cc5667eece98bb35dcf35f7e511031a8b7a125",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765386911,
|
||||
"narHash": "sha256-YLjQpnTZCMjCho7ZDs5O1yFVw+fDlXq4lSJDuLWHHeA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "cb6bbed75eaca21deb8950c2ec0036ae5cde18ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735730497,
|
||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1763914658,
|
||||
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764465359,
|
||||
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764464512,
|
||||
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
50
home-manager/flake.nix
Normal file
50
home-manager/flake.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
description = "Home Manager configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
quickshell = {
|
||||
url = "github:outfoxxed/quickshell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
noctalia = {
|
||||
url = "github:noctalia-dev/noctalia-shell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, rust-overlay, stylix, ... }@inputs: {
|
||||
homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
|
||||
modules = [
|
||||
stylix.homeModules.stylix
|
||||
./noctalia.nix
|
||||
./home.nix
|
||||
({ pkgs, ... }: {
|
||||
nixpkgs.overlays = [ rust-overlay.overlays.default ];
|
||||
home.packages = [ pkgs.rustup ];
|
||||
})
|
||||
];
|
||||
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
};
|
||||
};
|
||||
}
|
||||
211
home-manager/home.nix
Normal file
211
home-manager/home.nix
Normal file
@@ -0,0 +1,211 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
home.username = "lusia";
|
||||
home.homeDirectory = "/home/lusia";
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
niri
|
||||
btop
|
||||
ripgrep
|
||||
firefox-bin
|
||||
claude-code
|
||||
yazi
|
||||
fastfetch
|
||||
pywalfox-native
|
||||
nautilus
|
||||
loupe
|
||||
gnome-text-editor
|
||||
gnome-calculator
|
||||
evince
|
||||
vlc
|
||||
p7zip
|
||||
unzip
|
||||
zip
|
||||
unrar
|
||||
file-roller
|
||||
morewaita-icon-theme
|
||||
codex
|
||||
neovim
|
||||
cargo-cross
|
||||
filezilla
|
||||
swayidle
|
||||
python314
|
||||
sshpass
|
||||
dua
|
||||
nh
|
||||
nmap
|
||||
lazygit
|
||||
mpv
|
||||
libreoffice-fresh
|
||||
qbittorrent
|
||||
gimp
|
||||
mdcat
|
||||
htop
|
||||
vscode.fhs
|
||||
blender
|
||||
yt-dlp
|
||||
ffmpeg
|
||||
tor-browser
|
||||
kdePackages.kleopatra
|
||||
monero-gui
|
||||
gnupg
|
||||
pinentry-qt
|
||||
libheif
|
||||
exiftool
|
||||
gnome-network-displays
|
||||
dconf
|
||||
jq
|
||||
pywal
|
||||
fd
|
||||
openai-whisper
|
||||
gparted
|
||||
swww
|
||||
tectonic
|
||||
zathura
|
||||
entr
|
||||
waifu2x-converter-cpp
|
||||
gnome-software
|
||||
mission-center
|
||||
kanshi
|
||||
|
||||
# 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;
|
||||
};
|
||||
}
|
||||
18
home-manager/noctalia.nix
Normal file
18
home-manager/noctalia.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ 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;
|
||||
#};
|
||||
}
|
||||
6
kanshi/apply-wallpaper.sh
Executable file
6
kanshi/apply-wallpaper.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
sleep 0.5
|
||||
WALLPAPER=$(cat ~/.config/swww/current-wallpaper 2>/dev/null)
|
||||
if [ -n "$WALLPAPER" ] && [ -f "$WALLPAPER" ]; then
|
||||
swww img "$WALLPAPER"
|
||||
fi
|
||||
15
kanshi/config
Normal file
15
kanshi/config
Normal file
@@ -0,0 +1,15 @@
|
||||
profile laptop {
|
||||
output eDP-1 enable
|
||||
exec ~/.config/kanshi/apply-wallpaper.sh
|
||||
}
|
||||
|
||||
profile laptop_and_hdmi {
|
||||
output eDP-1 enable
|
||||
output HDMI-A-1 enable
|
||||
exec ~/.config/kanshi/apply-wallpaper.sh
|
||||
}
|
||||
|
||||
profile {
|
||||
output "*"
|
||||
exec ~/.config/kanshi/apply-wallpaper.sh
|
||||
}
|
||||
25
kitty/kitty.conf
Normal file
25
kitty/kitty.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
# Kitty Configuration
|
||||
# Include pywal colors
|
||||
include ~/.cache/wal/colors-kitty.conf
|
||||
|
||||
# new tab in the same dir
|
||||
map kitty_mod+t new_tab_with_cwd
|
||||
# remove more text at once with ctrl+backspace
|
||||
map ctrl+backspace send_text all \x17
|
||||
# fixes mod+q not exiting the terminal instantly
|
||||
confirm_os_window_close 0
|
||||
|
||||
# BEGIN_KITTY_THEME
|
||||
# Noctalia
|
||||
#include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family="FiraCode Nerd Font"
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
# END_KITTY_FONTS
|
||||
|
||||
# background_opacity 0.95
|
||||
17
mimeapps.list
Normal file
17
mimeapps.list
Normal file
@@ -0,0 +1,17 @@
|
||||
[Added Associations]
|
||||
application/gzip=org.gnome.FileRoller.desktop;org.gnome.Evince.desktop;
|
||||
text/markdown=org.gnome.TextEditor.desktop;
|
||||
image/jpeg=org.gnome.Loupe.desktop;
|
||||
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;
|
||||
|
||||
[Default Applications]
|
||||
text/markdown=org.gnome.TextEditor.desktop
|
||||
image/jpeg=org.gnome.Loupe.desktop
|
||||
image/png=org.gnome.Loupe.desktop
|
||||
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
|
||||
293
niri/config.kdl
Normal file
293
niri/config.kdl
Normal file
@@ -0,0 +1,293 @@
|
||||
layout {
|
||||
gaps 5
|
||||
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"
|
||||
}
|
||||
|
||||
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
|
||||
gaps-between-tabs 5
|
||||
corner-radius 10
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
window-close {
|
||||
spring damping-ratio=1.0 stiffness=700 epsilon=0.1
|
||||
}
|
||||
window-resize {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.001
|
||||
}
|
||||
window-movement {
|
||||
spring damping-ratio=1.0 stiffness=600 epsilon=0.0001
|
||||
}
|
||||
workspace-switch {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.00001
|
||||
}
|
||||
horizontal-view-movement {
|
||||
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
|
||||
}
|
||||
}
|
||||
|
||||
// Open the Firefox picture-in-picture player as floating by default.
|
||||
window-rule {
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
// Example: enable rounded corners for all windows.
|
||||
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
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="code"
|
||||
opacity 0.95
|
||||
}
|
||||
|
||||
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"; }
|
||||
|
||||
// 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"; }
|
||||
|
||||
// Brightness controls
|
||||
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-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; }
|
||||
|
||||
// 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"; }
|
||||
}
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
input {
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "pl"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
316
nixos/configuration.nix
Normal file
316
nixos/configuration.nix
Normal file
@@ -0,0 +1,316 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.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.users.lusia = {
|
||||
isNormalUser = true;
|
||||
description = "Lukrecja";
|
||||
extraGroups = [ "wheel" "networkmanager" "docker" ];
|
||||
initialPassword = "pass";
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
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?
|
||||
|
||||
}
|
||||
61
nixos/flake.lock
generated
Normal file
61
nixos/flake.lock
generated
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765461410,
|
||||
"narHash": "sha256-AVZ1y5tfTGqf5zJx6uY52KHN2pP9gGF9RMQ3meBVKIg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7b34e428f31ce52baabda53e52bf14002e1c0625",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "home-manager",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1764950072,
|
||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
18
nixos/flake.nix
Normal file
18
nixos/flake.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
description = "NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
};
|
||||
|
||||
outputs = inputs@{ nixpkgs, home-manager, ... }: {
|
||||
nixosConfigurations = {
|
||||
lusia-laptop = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
59
nixos/hardware-configuration.nix
Normal file
59
nixos/hardware-configuration.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luksroot".device = "/dev/disk/by-uuid/a5725fbc-c25f-4e29-aa8d-3808b85ee586";
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@home" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" =
|
||||
{ device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@log" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/532C-C315";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
fileSystems."/swap" =
|
||||
{ device = "/dev/disk/by-uuid/f240d6d8-b1e2-418d-96ed-9b9c11ab4ea9";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@swap" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
13
nixos/home.nix
Normal file
13
nixos/home.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.username = "lusia";
|
||||
home.homeDirectory = "/home/lusia";
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
15
noctalia/plugins.json
Normal file
15
noctalia/plugins.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Official Noctalia Plugins",
|
||||
"url": "https://github.com/noctalia-dev/noctalia-plugins"
|
||||
}
|
||||
],
|
||||
"states": {
|
||||
"catwalk": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
477
noctalia/settings.json
Normal file
477
noctalia/settings.json
Normal file
@@ -0,0 +1,477 @@
|
||||
{
|
||||
"appLauncher": {
|
||||
"customLaunchPrefix": "",
|
||||
"customLaunchPrefixEnabled": false,
|
||||
"enableClipPreview": true,
|
||||
"enableClipboardHistory": false,
|
||||
"pinnedExecs": [
|
||||
],
|
||||
"position": "center",
|
||||
"showCategories": true,
|
||||
"sortByMostUsed": true,
|
||||
"terminalCommand": "kitty -e",
|
||||
"useApp2Unit": false,
|
||||
"viewMode": "list"
|
||||
},
|
||||
"audio": {
|
||||
"cavaFrameRate": 60,
|
||||
"externalMixer": "pwvucontrol || pavucontrol",
|
||||
"mprisBlacklist": [
|
||||
],
|
||||
"preferredPlayer": "",
|
||||
"visualizerQuality": "high",
|
||||
"visualizerType": "linear",
|
||||
"volumeOverdrive": false,
|
||||
"volumeStep": 5
|
||||
},
|
||||
"bar": {
|
||||
"backgroundOpacity": 0,
|
||||
"capsuleOpacity": 1,
|
||||
"density": "default",
|
||||
"exclusive": true,
|
||||
"floating": false,
|
||||
"marginHorizontal": 0.25,
|
||||
"marginVertical": 0.25,
|
||||
"monitors": [
|
||||
],
|
||||
"outerCorners": true,
|
||||
"position": "top",
|
||||
"showCapsule": true,
|
||||
"widgets": {
|
||||
"center": [
|
||||
],
|
||||
"left": [
|
||||
{
|
||||
"diskPath": "/",
|
||||
"id": "SystemMonitor",
|
||||
"showCpuTemp": true,
|
||||
"showCpuUsage": true,
|
||||
"showDiskUsage": false,
|
||||
"showMemoryAsPercent": false,
|
||||
"showMemoryUsage": true,
|
||||
"showNetworkStats": true,
|
||||
"usePrimaryColor": true
|
||||
},
|
||||
{
|
||||
"hideMode": "hidden",
|
||||
"hideWhenIdle": false,
|
||||
"id": "MediaMini",
|
||||
"maxWidth": 145,
|
||||
"scrollingMode": "hover",
|
||||
"showAlbumArt": false,
|
||||
"showArtistFirst": true,
|
||||
"showProgressRing": true,
|
||||
"showVisualizer": false,
|
||||
"useFixedWidth": false,
|
||||
"visualizerType": "linear"
|
||||
}
|
||||
],
|
||||
"right": [
|
||||
{
|
||||
"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,
|
||||
"id": "NotificationHistory",
|
||||
"showUnreadBadge": true
|
||||
},
|
||||
{
|
||||
"deviceNativePath": "",
|
||||
"displayMode": "onhover",
|
||||
"id": "Battery",
|
||||
"showNoctaliaPerformance": false,
|
||||
"showPowerProfiles": false,
|
||||
"warningThreshold": 30
|
||||
},
|
||||
{
|
||||
"displayMode": "onhover",
|
||||
"id": "WiFi"
|
||||
},
|
||||
{
|
||||
"displayMode": "onhover",
|
||||
"id": "Bluetooth"
|
||||
},
|
||||
{
|
||||
"displayMode": "onhover",
|
||||
"id": "Volume"
|
||||
},
|
||||
{
|
||||
"displayMode": "onhover",
|
||||
"id": "Brightness"
|
||||
},
|
||||
{
|
||||
"customFont": "",
|
||||
"formatHorizontal": "HH:mm:ss",
|
||||
"formatVertical": "HH mm - dd MM",
|
||||
"id": "Clock",
|
||||
"useCustomFont": false,
|
||||
"usePrimaryColor": true
|
||||
},
|
||||
{
|
||||
"colorizeDistroLogo": false,
|
||||
"colorizeSystemIcon": "none",
|
||||
"customIconPath": "",
|
||||
"enableColorization": false,
|
||||
"icon": "dots",
|
||||
"id": "ControlCenter",
|
||||
"useDistroLogo": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"brightness": {
|
||||
"brightnessStep": 5,
|
||||
"enableDdcSupport": false,
|
||||
"enforceMinimum": true
|
||||
},
|
||||
"calendar": {
|
||||
"cards": [
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "timer-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "weather-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "calendar-header-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "calendar-month-card"
|
||||
}
|
||||
]
|
||||
},
|
||||
"colorSchemes": {
|
||||
"darkMode": true,
|
||||
"generateTemplatesForPredefined": true,
|
||||
"manualSunrise": "06:30",
|
||||
"manualSunset": "18:30",
|
||||
"matugenSchemeType": "scheme-neutral",
|
||||
"predefinedScheme": "Monochrome",
|
||||
"schedulingMode": "off",
|
||||
"useWallpaperColors": false
|
||||
},
|
||||
"controlCenter": {
|
||||
"cards": [
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "profile-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "shortcuts-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "audio-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "weather-card"
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"id": "media-sysmon-card"
|
||||
}
|
||||
],
|
||||
"position": "close_to_bar_button",
|
||||
"shortcuts": {
|
||||
"left": [
|
||||
{
|
||||
"id": "WiFi"
|
||||
},
|
||||
{
|
||||
"id": "Bluetooth"
|
||||
},
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
},
|
||||
{
|
||||
"id": "WallpaperSelector"
|
||||
}
|
||||
],
|
||||
"right": [
|
||||
{
|
||||
"id": "Notifications"
|
||||
},
|
||||
{
|
||||
"id": "PowerProfile"
|
||||
},
|
||||
{
|
||||
"id": "KeepAwake"
|
||||
},
|
||||
{
|
||||
"id": "NightLight"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"dock": {
|
||||
"backgroundOpacity": 1,
|
||||
"colorizeIcons": false,
|
||||
"deadOpacity": 0.6,
|
||||
"displayMode": "always_visible",
|
||||
"enabled": false,
|
||||
"floatingRatio": 1,
|
||||
"inactiveIndicators": false,
|
||||
"monitors": [
|
||||
],
|
||||
"onlySameOutput": true,
|
||||
"pinnedApps": [
|
||||
],
|
||||
"pinnedStatic": false,
|
||||
"size": 1
|
||||
},
|
||||
"general": {
|
||||
"allowPanelsOnScreenWithoutBar": true,
|
||||
"animationDisabled": false,
|
||||
"animationSpeed": 1,
|
||||
"avatarImage": "/home/lusia/Downloads/lusia.jpg",
|
||||
"boxRadiusRatio": 1,
|
||||
"compactLockScreen": true,
|
||||
"dimmerOpacity": 0.6,
|
||||
"enableShadows": true,
|
||||
"forceBlackScreenCorners": true,
|
||||
"iRadiusRatio": 1,
|
||||
"language": "",
|
||||
"lockOnSuspend": true,
|
||||
"radiusRatio": 1,
|
||||
"scaleRatio": 1,
|
||||
"screenRadiusRatio": 1,
|
||||
"shadowDirection": "bottom_right",
|
||||
"shadowOffsetX": 2,
|
||||
"shadowOffsetY": 3,
|
||||
"showHibernateOnLockScreen": false,
|
||||
"showScreenCorners": true
|
||||
},
|
||||
"hooks": {
|
||||
"darkModeChange": "",
|
||||
"enabled": false,
|
||||
"wallpaperChange": ""
|
||||
},
|
||||
"location": {
|
||||
"analogClockInCalendar": false,
|
||||
"firstDayOfWeek": 1,
|
||||
"name": "Poznań",
|
||||
"showCalendarEvents": true,
|
||||
"showCalendarWeather": true,
|
||||
"showWeekNumberInCalendar": false,
|
||||
"use12hourFormat": false,
|
||||
"useFahrenheit": false,
|
||||
"weatherEnabled": true,
|
||||
"weatherShowEffects": true
|
||||
},
|
||||
"network": {
|
||||
"wifiEnabled": true
|
||||
},
|
||||
"nightLight": {
|
||||
"autoSchedule": true,
|
||||
"dayTemp": "6500",
|
||||
"enabled": false,
|
||||
"forced": false,
|
||||
"manualSunrise": "06:30",
|
||||
"manualSunset": "18:30",
|
||||
"nightTemp": "4000"
|
||||
},
|
||||
"notifications": {
|
||||
"backgroundOpacity": 1,
|
||||
"criticalUrgencyDuration": 15,
|
||||
"enableKeyboardLayoutToast": true,
|
||||
"enabled": true,
|
||||
"location": "top_right",
|
||||
"lowUrgencyDuration": 3,
|
||||
"monitors": [
|
||||
],
|
||||
"normalUrgencyDuration": 8,
|
||||
"overlayLayer": true,
|
||||
"respectExpireTimeout": false,
|
||||
"sounds": {
|
||||
"criticalSoundFile": "",
|
||||
"enabled": false,
|
||||
"excludedApps": "discord,firefox,chrome,chromium,edge",
|
||||
"lowSoundFile": "",
|
||||
"normalSoundFile": "",
|
||||
"separateSounds": false,
|
||||
"volume": 0.5
|
||||
}
|
||||
},
|
||||
"osd": {
|
||||
"autoHideMs": 2000,
|
||||
"backgroundOpacity": 1,
|
||||
"enabled": true,
|
||||
"enabledTypes": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"location": "top_right",
|
||||
"monitors": [
|
||||
],
|
||||
"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"
|
||||
},
|
||||
"sessionMenu": {
|
||||
"countdownDuration": 10000,
|
||||
"enableCountdown": true,
|
||||
"position": "center",
|
||||
"powerOptions": [
|
||||
{
|
||||
"action": "lock",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "suspend",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "reboot",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "logout",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "shutdown",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "hibernate",
|
||||
"command": "",
|
||||
"countdownEnabled": true,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"showHeader": true
|
||||
},
|
||||
"settingsVersion": 26,
|
||||
"systemMonitor": {
|
||||
"cpuCriticalThreshold": 90,
|
||||
"cpuPollingInterval": 3000,
|
||||
"cpuWarningThreshold": 80,
|
||||
"criticalColor": "",
|
||||
"diskCriticalThreshold": 90,
|
||||
"diskPollingInterval": 3000,
|
||||
"diskWarningThreshold": 80,
|
||||
"memCriticalThreshold": 90,
|
||||
"memPollingInterval": 3000,
|
||||
"memWarningThreshold": 80,
|
||||
"networkPollingInterval": 3000,
|
||||
"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
|
||||
},
|
||||
"ui": {
|
||||
"fontDefault": "Roboto",
|
||||
"fontDefaultScale": 1,
|
||||
"fontFixed": "DejaVu Sans Mono",
|
||||
"fontFixedScale": 1,
|
||||
"panelBackgroundOpacity": 1,
|
||||
"panelsAttachedToBar": true,
|
||||
"settingsPanelAttachToBar": false,
|
||||
"tooltipsEnabled": true
|
||||
},
|
||||
"wallpaper": {
|
||||
"directory": "/home/lusia/Pictures/Wallpapers",
|
||||
"enableMultiMonitorDirectories": false,
|
||||
"enabled": false,
|
||||
"fillColor": "#000000",
|
||||
"fillMode": "crop",
|
||||
"hideWallpaperFilenames": false,
|
||||
"monitorDirectories": [
|
||||
],
|
||||
"overviewEnabled": false,
|
||||
"panelPosition": "follow_bar",
|
||||
"randomEnabled": false,
|
||||
"randomIntervalSec": 300,
|
||||
"recursiveSearch": false,
|
||||
"setWallpaperOnAllMonitors": true,
|
||||
"transitionDuration": 1500,
|
||||
"transitionEdgeSmoothness": 0.05,
|
||||
"transitionType": "random",
|
||||
"useWallhaven": false,
|
||||
"wallhavenCategories": "111",
|
||||
"wallhavenOrder": "desc",
|
||||
"wallhavenPurity": "100",
|
||||
"wallhavenQuery": "madoka",
|
||||
"wallhavenResolutionHeight": "",
|
||||
"wallhavenResolutionMode": "atleast",
|
||||
"wallhavenResolutionWidth": "",
|
||||
"wallhavenSorting": "relevance"
|
||||
}
|
||||
}
|
||||
6
nvim/.stylua.toml
Normal file
6
nvim/.stylua.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
column_width = 120
|
||||
line_endings = "Unix"
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
quote_style = "AutoPreferDouble"
|
||||
call_parentheses = "None"
|
||||
24
nvim/LICENSE
Normal file
24
nvim/LICENSE
Normal file
@@ -0,0 +1,24 @@
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org>
|
||||
9
nvim/README.md
Normal file
9
nvim/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
**This repo is supposed to be used as config by NvChad users!**
|
||||
|
||||
- The main nvchad repo (NvChad/NvChad) is used as a plugin by this repo.
|
||||
- So you just import its modules , like `require "nvchad.options" , require "nvchad.mappings"`
|
||||
- So you can delete the .git from this repo ( when you clone it locally ) or fork it :)
|
||||
|
||||
# Credits
|
||||
|
||||
1) Lazyvim starter https://github.com/LazyVim/starter as nvchad's starter was inspired by Lazyvim's . It made a lot of things easier!
|
||||
37
nvim/init.lua
Normal file
37
nvim/init.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_config = require "configs.lazy"
|
||||
|
||||
-- load plugins
|
||||
require("lazy").setup({
|
||||
{
|
||||
"NvChad/NvChad",
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "options"
|
||||
require "autocmds"
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
||||
29
nvim/lazy-lock.json
Normal file
29
nvim/lazy-lock.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" },
|
||||
"NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" },
|
||||
"base46": { "branch": "v3.0", "commit": "db58475d3fd2a16f9b1467d6895e3c4c195ed7dd" },
|
||||
"cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"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" },
|
||||
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
|
||||
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "e397756d2a79d74314ea4cd3efc41300e91c0ff0" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" },
|
||||
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
||||
}
|
||||
1
nvim/lua/autocmds.lua
Normal file
1
nvim/lua/autocmds.lua
Normal file
@@ -0,0 +1 @@
|
||||
require "nvchad.autocmds"
|
||||
24
nvim/lua/chadrc.lua
Normal file
24
nvim/lua/chadrc.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
|
||||
-- Please read that file to know all available options :(
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "pywal",
|
||||
|
||||
-- hl_override = {
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
-- },
|
||||
}
|
||||
|
||||
-- M.nvdash = { load_on_startup = true }
|
||||
-- M.ui = {
|
||||
-- tabufline = {
|
||||
-- lazyload = false
|
||||
-- }
|
||||
-- }
|
||||
|
||||
return M
|
||||
16
nvim/lua/configs/conform.lua
Normal file
16
nvim/lua/configs/conform.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
rust = { "rustfmt" },
|
||||
-- css = { "prettier" },
|
||||
-- html = { "prettier" },
|
||||
},
|
||||
|
||||
-- format_on_save = {
|
||||
-- -- These options will be passed to conform.format()
|
||||
-- timeout_ms = 500,
|
||||
-- lsp_fallback = true,
|
||||
-- },
|
||||
}
|
||||
|
||||
return options
|
||||
47
nvim/lua/configs/lazy.lua
Normal file
47
nvim/lua/configs/lazy.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
return {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { "nvchad" } },
|
||||
|
||||
ui = {
|
||||
icons = {
|
||||
ft = "",
|
||||
lazy = " ",
|
||||
loaded = "",
|
||||
not_loaded = "",
|
||||
},
|
||||
},
|
||||
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
34
nvim/lua/configs/lspconfig.lua
Normal file
34
nvim/lua/configs/lspconfig.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
require("nvchad.configs.lspconfig").defaults()
|
||||
|
||||
local servers = { "html", "cssls", "rust_analyzer" }
|
||||
vim.lsp.enable(servers)
|
||||
|
||||
-- Configure rust-analyzer with enhanced settings
|
||||
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
|
||||
10
nvim/lua/mappings.lua
Normal file
10
nvim/lua/mappings.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||
6
nvim/lua/options.lua
Normal file
6
nvim/lua/options.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
require "nvchad.options"
|
||||
|
||||
-- add yours here!
|
||||
|
||||
-- local o = vim.o
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
||||
65
nvim/lua/plugins/init.lua
Normal file
65
nvim/lua/plugins/init.lua
Normal file
@@ -0,0 +1,65 @@
|
||||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
opts = require "configs.conform",
|
||||
},
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
|
||||
-- test new blink
|
||||
-- { import = "nvchad.blink.lazyspec" },
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vim", "lua", "vimdoc",
|
||||
"html", "css", "rust", "toml"
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
opts = {
|
||||
defaults = {
|
||||
file_ignore_patterns = {}, -- Don't ignore any patterns by default
|
||||
},
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
no_ignore = true, -- Show files ignored by .gitignore
|
||||
no_ignore_parent = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
opts = {
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
git_ignored = false, -- Show files ignored by .gitignore
|
||||
},
|
||||
view = {
|
||||
adaptive_size = false,
|
||||
},
|
||||
renderer = {
|
||||
highlight_git = true,
|
||||
icons = {
|
||||
show = {
|
||||
git = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user