Compare commits
No commits in common. "73f957e81dbd17f41d739514ee88e86b7ca61819" and "3b41645cdfbbeb4c6e3e151be47e2fd0e83e327a" have entirely different histories.
73f957e81d
...
3b41645cdf
|
@ -22,19 +22,8 @@ in
|
||||||
curl
|
curl
|
||||||
dig
|
dig
|
||||||
procps
|
procps
|
||||||
wireguard-tools
|
|
||||||
usbutils
|
|
||||||
pciutils
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
|
|
||||||
# TODO: MOVE
|
|
||||||
quickemu
|
|
||||||
pdftk
|
|
||||||
];
|
];
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
# Enable base modules
|
# Enable base modules
|
||||||
clean-tmp.enable = true;
|
clean-tmp.enable = true;
|
||||||
|
@ -46,11 +35,10 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO: Remove everything below, it is here out of convenience and should be elsewhere
|
# TODO: Remove everything below, it is here out of convenience and should be elsewhere
|
||||||
# networking.nameservers = [
|
networking.nameservers = [
|
||||||
# "9.9.9.9"
|
"9.9.9.9"
|
||||||
# "149.112.112.112"
|
"149.112.112.112"
|
||||||
# ];
|
];
|
||||||
networking.firewall.enable = true;
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
modules.unfree.enable = true;
|
modules.unfree.enable = true;
|
||||||
|
|
|
@ -9,15 +9,9 @@ with lib;
|
||||||
let
|
let
|
||||||
# Nixvim
|
# Nixvim
|
||||||
nixvim = import (
|
nixvim = import (
|
||||||
# builtins.fetchGit {
|
builtins.fetchGit {
|
||||||
# url = "https://github.com/nix-community/nixvim";
|
url = "https://github.com/nix-community/nixvim";
|
||||||
# # ref = "nixos-24.05";
|
# ref = "nixos-24.05";
|
||||||
# }
|
|
||||||
pkgs.fetchFromGitHub {
|
|
||||||
owner = "nix-community";
|
|
||||||
repo = "nixvim";
|
|
||||||
rev = "master";
|
|
||||||
sha256 = "sha256-xPf3jjDBDA9oMVnWU5DJ8gINCq2EPiupvF/4rD/0eEI=";
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -26,8 +20,8 @@ let
|
||||||
pkgs.fetchFromGitHub {
|
pkgs.fetchFromGitHub {
|
||||||
owner = "danth";
|
owner = "danth";
|
||||||
repo = "stylix";
|
repo = "stylix";
|
||||||
rev = "master";
|
rev = "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116";
|
||||||
sha256 = "sha256-8uTKUHkaU980J5kRnLYrdwmjZYB88eBGUk1oVgIUHFE=";
|
sha256 = "0dz8h1ga8lnfvvmvsf6iqvnbvxrvx3qxi0y8s8b72066mqgvy8y5";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -90,10 +84,7 @@ in
|
||||||
users.users = attrsets.concatMapAttrs (name: value: {
|
users.users = attrsets.concatMapAttrs (name: value: {
|
||||||
${name} = {
|
${name} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = mkIf value.sudo [
|
extraGroups = mkIf value.sudo [ "wheel" ];
|
||||||
"wheel"
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}) config.machine.users;
|
}) config.machine.users;
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,9 @@ in
|
||||||
# Enable NUR
|
# Enable NUR
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
# TODO: Pin the version
|
# TODO: Pin the version
|
||||||
nur = import (builtins.fetchTarball {
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
||||||
url = "https://github.com/nix-community/NUR/archive/master.tar.gz";
|
inherit pkgs;
|
||||||
sha256 = "0jjfvr325imrwg9ic8xha5y38jcp1s0z4pzwhvi0570aigzibbz4";
|
};
|
||||||
}) { inherit pkgs; };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
|
|
|
@ -20,27 +20,26 @@ in
|
||||||
default.browser = mkIf cfg.default "org.qutebrowser.qutebrowser.desktop";
|
default.browser = mkIf cfg.default "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
|
||||||
# TODO: Remove once nixpkgs updates
|
# TODO: Remove once nixpkgs updates
|
||||||
# nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
# python3 = pkgs.python3.override {
|
python3 = pkgs.python3.override {
|
||||||
# packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
# pykeepass = super.pykeepass.overrideAttrs (attrs: {
|
pykeepass = super.pykeepass.overrideAttrs (attrs: {
|
||||||
# version = "4.1.0.post1";
|
version = "4.1.0.post1";
|
||||||
# src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
# owner = "libkeepass";
|
owner = "libkeepass";
|
||||||
# repo = "pykeepass";
|
repo = "pykeepass";
|
||||||
# rev = "refs/tags/v4.1.0.post1";
|
rev = "refs/tags/v4.1.0.post1";
|
||||||
# hash = "sha256-64is/XoRF/kojqd4jQIAQi1od8TRhiv9uR+WNIGvP2A=";
|
hash = "sha256-64is/XoRF/kojqd4jQIAQi1od8TRhiv9uR+WNIGvP2A=";
|
||||||
# };
|
};
|
||||||
# });
|
});
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
|
|
||||||
programs.qutebrowser = {
|
programs.qutebrowser = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
config.set("completion.web_history.max_items", 100)
|
|
||||||
config.set("colors.webpage.darkmode.enabled", False)
|
config.set("colors.webpage.darkmode.enabled", False)
|
||||||
config.set("colors.webpage.preferred_color_scheme", "${if theme.darkMode then "dark" else "light"}")
|
config.set("colors.webpage.preferred_color_scheme", "${if theme.darkMode then "dark" else "light"}")
|
||||||
config.set("fonts.default_family", "${theme.fonts.monospace.name}")
|
config.set("fonts.default_family", "${theme.fonts.monospace.name}")
|
||||||
|
|
|
@ -1,368 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.btop;
|
|
||||||
colors = config.theming.schemeColors;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.btop = {
|
|
||||||
enable = mkEnableOption "btop";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [ btop ];
|
|
||||||
|
|
||||||
xdg.configFile."btop/btop.conf" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
#? Config file for btop v. 1.4.0
|
|
||||||
|
|
||||||
#* 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 = "nixos"
|
|
||||||
|
|
||||||
#* 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 = False
|
|
||||||
|
|
||||||
#* 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 = "cpu net proc mem"
|
|
||||||
|
|
||||||
#* 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 lazy"
|
|
||||||
|
|
||||||
#* 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
|
|
||||||
|
|
||||||
#* 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 " ".
|
|
||||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: 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 = True
|
|
||||||
|
|
||||||
#* 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 = ""
|
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
|
||||||
show_battery = False
|
|
||||||
|
|
||||||
#* 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
|
|
||||||
|
|
||||||
#* 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 = ""
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."btop/themes/nixos.theme" = {
|
|
||||||
enable = true;
|
|
||||||
text = with colors; ''
|
|
||||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
|
||||||
theme[main_bg]="#${base00}"
|
|
||||||
|
|
||||||
# Main text color
|
|
||||||
theme[main_fg]="#${base05}"
|
|
||||||
|
|
||||||
# Title color for boxes
|
|
||||||
theme[title]="#${base05}"
|
|
||||||
|
|
||||||
# Highlight color for keyboard shortcuts
|
|
||||||
theme[hi_fg]="#${base0D}"
|
|
||||||
|
|
||||||
# Background color of selected item in processes box
|
|
||||||
theme[selected_bg]="#${base03}"
|
|
||||||
|
|
||||||
# Foreground color of selected item in processes box
|
|
||||||
theme[selected_fg]="#${base0D}"
|
|
||||||
|
|
||||||
# Color of inactive/disabled text
|
|
||||||
theme[inactive_fg]="#8c8fa1"
|
|
||||||
|
|
||||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
|
||||||
theme[graph_text]="#${base06}"
|
|
||||||
|
|
||||||
# Background color of the percentage meters
|
|
||||||
theme[meter_bg]="#${base03}"
|
|
||||||
|
|
||||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
|
||||||
theme[proc_misc]="#${base06}"
|
|
||||||
|
|
||||||
# CPU, Memory, Network, Proc box outline colors
|
|
||||||
theme[cpu_box]="#${base0E}" #Mauve
|
|
||||||
theme[mem_box]="#${base0B}" #Green
|
|
||||||
theme[net_box]="#e64553" #Maroon
|
|
||||||
theme[proc_box]="#${colors.base0D}" #Blue
|
|
||||||
|
|
||||||
# Box divider line and small boxes line color
|
|
||||||
theme[div_line]="#9ca0b0"
|
|
||||||
|
|
||||||
# Temperature graph color (Green -> Yellow -> Red)
|
|
||||||
theme[temp_start]="#${base0B}"
|
|
||||||
theme[temp_mid]="#${base0A}"
|
|
||||||
theme[temp_end]="#${base08}"
|
|
||||||
|
|
||||||
# CPU graph colors (Teal -> Lavender)
|
|
||||||
theme[cpu_start]="#${base0C}"
|
|
||||||
theme[cpu_mid]="#209fb5"
|
|
||||||
theme[cpu_end]="#${base07}"
|
|
||||||
|
|
||||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
|
||||||
theme[free_start]="#${base0E}"
|
|
||||||
theme[free_mid]="#${base07}"
|
|
||||||
theme[free_end]="#${base0D}"
|
|
||||||
|
|
||||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
|
||||||
theme[cached_start]="#209fb5"
|
|
||||||
theme[cached_mid]="#${base0D}"
|
|
||||||
theme[cached_end]="#${base07}"
|
|
||||||
|
|
||||||
# Mem/Disk available meter (Peach -> Red)
|
|
||||||
theme[available_start]="#${base09}"
|
|
||||||
theme[available_mid]="#e64553"
|
|
||||||
theme[available_end]="#${base08}"
|
|
||||||
|
|
||||||
# Mem/Disk used meter (Green -> Sky)
|
|
||||||
theme[used_start]="#${base0B}"
|
|
||||||
theme[used_mid]="#${base0C}"
|
|
||||||
theme[used_end]="#04a5e5"
|
|
||||||
|
|
||||||
# Download graph colors (Peach -> Red)
|
|
||||||
theme[download_start]="#${base09}"
|
|
||||||
theme[download_mid]="#e64553"
|
|
||||||
theme[download_end]="#${base08}"
|
|
||||||
|
|
||||||
# Upload graph colors (Green -> Sky)
|
|
||||||
theme[upload_start]="#${base0B}"
|
|
||||||
theme[upload_mid]="#${base0C}"
|
|
||||||
theme[upload_end]="#04a5e5"
|
|
||||||
|
|
||||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
|
||||||
theme[process_start]="#209fb5"
|
|
||||||
theme[process_mid]="#${base07}"
|
|
||||||
theme[process_end]="#${base0E}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
modules.shell.aliases = {
|
|
||||||
top = "btop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,7 @@
|
||||||
{
|
{
|
||||||
|
input,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -7,29 +10,20 @@
|
||||||
# Import all modules
|
# Import all modules
|
||||||
./bluetuith/default.nix
|
./bluetuith/default.nix
|
||||||
./browser/default.nix
|
./browser/default.nix
|
||||||
./btop/default.nix
|
|
||||||
./desktop/default.nix
|
./desktop/default.nix
|
||||||
./discord/default.nix
|
./discord/default.nix
|
||||||
./feishin/default.nix
|
./feishin/default.nix
|
||||||
./fontconfig/default.nix
|
./fontconfig/default.nix
|
||||||
./git/default.nix
|
|
||||||
./language/cpp.nix
|
|
||||||
./language/haskell.nix
|
./language/haskell.nix
|
||||||
./language/js.nix
|
|
||||||
./language/jupyter.nix
|
|
||||||
./language/nix.nix
|
./language/nix.nix
|
||||||
./language/python.nix
|
|
||||||
./language/rust.nix
|
./language/rust.nix
|
||||||
./language/tex.nix
|
|
||||||
./mako/default.nix
|
./mako/default.nix
|
||||||
./neovim/default.nix
|
./neovim/default.nix
|
||||||
./obsidian/default.nix
|
./obsidian/default.nix
|
||||||
./rofi/default.nix
|
./rofi/default.nix
|
||||||
./rofi/rofi-rbw.nix
|
./rofi/rofi-rbw.nix
|
||||||
./shell/default.nix
|
|
||||||
./shell/bash.nix
|
./shell/bash.nix
|
||||||
./shell/fish.nix
|
./shell/fish.nix
|
||||||
./spotify/default.nix
|
|
||||||
./steam/default.nix
|
./steam/default.nix
|
||||||
./terminal/default.nix
|
./terminal/default.nix
|
||||||
./terminal/foot/default.nix
|
./terminal/foot/default.nix
|
||||||
|
|
|
@ -23,13 +23,6 @@ in
|
||||||
wpa_supplicant_gui # TODO: Move
|
wpa_supplicant_gui # TODO: Move
|
||||||
];
|
];
|
||||||
|
|
||||||
modules.desktop.reloadScript = ''
|
|
||||||
if ${pkgs.procps}/bin/pgrep waybar; then
|
|
||||||
${pkgs.procps}/bin/pkill waybar
|
|
||||||
fi
|
|
||||||
${pkgs.waybar}/bin/waybar &
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -25,11 +25,6 @@ in
|
||||||
default = "${pkgs.bash}/bin/bash";
|
default = "${pkgs.bash}/bin/bash";
|
||||||
description = "Bash script to execute after logging in.";
|
description = "Bash script to execute after logging in.";
|
||||||
};
|
};
|
||||||
reloadScript = mkOption {
|
|
||||||
type = types.lines;
|
|
||||||
default = "";
|
|
||||||
description = "Shell script to execute after reload/rebuild.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -39,22 +34,13 @@ in
|
||||||
home.packages = optionals cfg.wayland (
|
home.packages = optionals cfg.wayland (
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
wl-clipboard
|
pkgs.wl-clipboard
|
||||||
wtype
|
pkgs.wtype
|
||||||
grim
|
pkgs.grim
|
||||||
slurp
|
pkgs.slurp
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
home.activation = {
|
|
||||||
customReloadScript = lib.hm.dag.entryAfter [ "writeBoundary" ] (
|
|
||||||
''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
''
|
|
||||||
+ cfg.reloadScript
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".initrc" = {
|
home.file.".initrc" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
executable = true;
|
executable = true;
|
||||||
|
|
|
@ -34,10 +34,6 @@ in
|
||||||
river
|
river
|
||||||
'';
|
'';
|
||||||
|
|
||||||
modules.desktop.reloadScript = ''
|
|
||||||
${pkgs.river}/bin/riverctl background-color 0x${config.theming.colors.bg}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Update background after rebuild
|
# Update background after rebuild
|
||||||
# home.activation = {
|
# home.activation = {
|
||||||
# river = lib.hm.dag.entryBetween [ "reloadSystemd" ] [ "installPackages" ] ''
|
# river = lib.hm.dag.entryBetween [ "reloadSystemd" ] [ "installPackages" ] ''
|
||||||
|
@ -108,7 +104,7 @@ in
|
||||||
|
|
||||||
spawn = [
|
spawn = [
|
||||||
"\"${layout} ${layoutOptions}\""
|
"\"${layout} ${layoutOptions}\""
|
||||||
"waybar" # TODO: Decouple
|
"waybar"
|
||||||
"\"glpaper eDP-1 ${toString config.modules.glpaper.shader}\""
|
"\"glpaper eDP-1 ${toString config.modules.glpaper.shader}\""
|
||||||
];
|
];
|
||||||
map = (
|
map = (
|
||||||
|
|
|
@ -44,16 +44,9 @@ in
|
||||||
home.file.".config/fontconfig/conf.d/20-family-fallbacks.conf" = {
|
home.file.".config/fontconfig/conf.d/20-family-fallbacks.conf" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# text = ''
|
|
||||||
# <?xml version="1.0"?>
|
|
||||||
# <fontconfig>
|
|
||||||
|
|
||||||
# ${configContent}
|
|
||||||
# </fontconfig>
|
|
||||||
# '';
|
|
||||||
text = ''
|
text = ''
|
||||||
<?xml version='1.0'?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||||
<fontconfig>
|
<fontconfig>
|
||||||
|
|
||||||
${configContent}
|
${configContent}
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.git;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.git = {
|
|
||||||
enable = mkEnableOption "git";
|
|
||||||
|
|
||||||
user = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "Default user name to use.";
|
|
||||||
};
|
|
||||||
|
|
||||||
email = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "Default user email to use.";
|
|
||||||
};
|
|
||||||
|
|
||||||
ignores = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [ ];
|
|
||||||
description = "Paths to globally ignore";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
git
|
|
||||||
lazygit
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
pull = {
|
|
||||||
rebase = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
userName = cfg.user;
|
|
||||||
userEmail = cfg.email;
|
|
||||||
ignores = cfg.ignores;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.rust;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.cpp = {
|
|
||||||
enable = mkEnableOption "cpp";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Allow unfree
|
|
||||||
modules.unfree.allowedPackages = [
|
|
||||||
"vscode-extension-ms-vscode-cpptools"
|
|
||||||
# TODO: Remove, it should not be here
|
|
||||||
"android-studio-stable"
|
|
||||||
"android-sdk-cmdline-tools"
|
|
||||||
"android-sdk-tools"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Gitignore additions
|
|
||||||
modules.git.ignores = [
|
|
||||||
".ccls-cache"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Development packages
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
gnumake
|
|
||||||
];
|
|
||||||
|
|
||||||
# VSCode configuration
|
|
||||||
programs.vscode = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
ms-vscode.cpptools
|
|
||||||
ms-vscode.cmake-tools
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
# "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4 }";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Neovim configuration
|
|
||||||
programs.nixvim = {
|
|
||||||
plugins.lsp.servers.ccls.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.js;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.js = {
|
|
||||||
enable = mkEnableOption "js";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Development packages
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nodejs
|
|
||||||
tailwindcss
|
|
||||||
];
|
|
||||||
|
|
||||||
# VSCode configuration
|
|
||||||
programs.vscode = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
bradlc.vscode-tailwindcss
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
# Neovim configuration
|
|
||||||
programs.nixvim = { };
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.jupyter;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.jupyter = {
|
|
||||||
enable = mkEnableOption "jupyter";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Development packages
|
|
||||||
home.packages = with pkgs; [ ];
|
|
||||||
|
|
||||||
modules.python.extraPythonPackages = p: [
|
|
||||||
p.jupyter
|
|
||||||
p.notebook
|
|
||||||
];
|
|
||||||
|
|
||||||
# VSCode configuration
|
|
||||||
programs.vscode = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
ms-toolsai.jupyter
|
|
||||||
ms-toolsai.jupyter-renderers
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
# Neovim configuration
|
|
||||||
programs.nixvim = { };
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.python;
|
|
||||||
package = pkgs.python3.withPackages cfg.extraPythonPackages;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.python = {
|
|
||||||
enable = mkEnableOption "python";
|
|
||||||
extraPythonPackages = mkOption {
|
|
||||||
type = types.functionTo (types.listOf types.package) // {
|
|
||||||
merge =
|
|
||||||
loc: defs: p:
|
|
||||||
lib.concatMap (def: (def.value p)) defs;
|
|
||||||
};
|
|
||||||
default = p: [ ];
|
|
||||||
description = "Extra Python packages to install";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Development packages
|
|
||||||
home.packages = [
|
|
||||||
package
|
|
||||||
];
|
|
||||||
|
|
||||||
# Allow unfree
|
|
||||||
modules.unfree.allowedPackages = [
|
|
||||||
"vscode-extension-MS-python-vscode-pylance"
|
|
||||||
];
|
|
||||||
|
|
||||||
# VSCode configuration
|
|
||||||
programs.vscode = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
ms-python.python
|
|
||||||
ms-python.debugpy
|
|
||||||
ms-python.vscode-pylance
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
"[python]" = {
|
|
||||||
"editor.defaultFormatter" = "ms-python.vscode-pylance";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Neovim configuration
|
|
||||||
programs.nixvim = { };
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -22,7 +22,6 @@ in
|
||||||
# cargo
|
# cargo
|
||||||
gcc
|
gcc
|
||||||
lldb
|
lldb
|
||||||
bacon
|
|
||||||
# rust-analyzer
|
# rust-analyzer
|
||||||
# rustfmt
|
# rustfmt
|
||||||
# clippy
|
# clippy
|
||||||
|
@ -48,7 +47,7 @@ in
|
||||||
|
|
||||||
# Neovim configuration
|
# Neovim configuration
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.rustaceanvim = {
|
plugins.rust-tools = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.tex;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.tex = {
|
|
||||||
enable = mkEnableOption "tex";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Development packages
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
(texlive.combine {
|
|
||||||
inherit (texlive) scheme-full;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# Pygments for minted
|
|
||||||
modules.python.extraPythonPackages = p: [
|
|
||||||
p.pygments
|
|
||||||
];
|
|
||||||
|
|
||||||
# VSCode configuration
|
|
||||||
programs.vscode = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
"[tex]" = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Neovim configuration
|
|
||||||
programs.nixvim = {
|
|
||||||
extraConfigVim = ''
|
|
||||||
" Enforce latexmk
|
|
||||||
let g:vimtex_compiler_method = 'latexmk'
|
|
||||||
|
|
||||||
" Set latexmk compilation settings
|
|
||||||
let g:vimtex_compiler_latexmk = {
|
|
||||||
\ 'options': [
|
|
||||||
\ '-shell-escape',
|
|
||||||
\ '-verbose',
|
|
||||||
\ '-file-line-error',
|
|
||||||
\ '-synctex=1',
|
|
||||||
\ '-interaction=nonstopmode',
|
|
||||||
\ ],
|
|
||||||
\}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Vimtex plugin
|
|
||||||
plugins.vimtex = {
|
|
||||||
enable = true;
|
|
||||||
texlivePackage = null;
|
|
||||||
settings = {
|
|
||||||
view_method = "zathura";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -136,10 +136,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins.web-devicons = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins.neo-tree = {
|
plugins.neo-tree = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -178,13 +174,13 @@ in
|
||||||
# enable = true;
|
# enable = true;
|
||||||
#};
|
#};
|
||||||
|
|
||||||
# plugins.vimtex = {
|
plugins.vimtex = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# texlivePackage = null;
|
texlivePackage = null;
|
||||||
# settings = {
|
settings = {
|
||||||
# view_method = "zathura";
|
view_method = "zathura";
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
programs.neovim.defaultEditor = true;
|
programs.neovim.defaultEditor = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,9 +14,5 @@ in
|
||||||
enable = mkEnableOption "bash";
|
enable = mkEnableOption "bash";
|
||||||
};
|
};
|
||||||
|
|
||||||
config.programs.bash = {
|
config.programs.bash.enable = cfg.enable;
|
||||||
enable = cfg.enable;
|
|
||||||
|
|
||||||
shellAliases = config.modules.shell.aliases;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
{
|
|
||||||
options.modules.shell = {
|
|
||||||
aliases = mkOption {
|
|
||||||
type = types.attrsOf types.str;
|
|
||||||
default = {
|
|
||||||
"..." = "cd ../..";
|
|
||||||
};
|
|
||||||
description = "Shell aliases";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -36,8 +36,6 @@ in
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
shellAliases = config.modules.shell.aliases;
|
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
(mkIf cfg.plugins.done {
|
(mkIf cfg.plugins.done {
|
||||||
name = "done";
|
name = "done";
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.spotify;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.spotify.enable = mkEnableOption "spotify";
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
modules.unfree.allowedPackages = [
|
|
||||||
"spotify"
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
spotify
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -10,13 +10,5 @@ let
|
||||||
enabled = any (user: user.modules.steam.enable) (attrValues config.home-manager.users);
|
enabled = any (user: user.modules.steam.enable) (attrValues config.home-manager.users);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = mkIf enabled {
|
config = mkIf enabled { programs.steam.enable = true; };
|
||||||
modules.unfree.allowedPackages = [
|
|
||||||
"steam"
|
|
||||||
"steam-original"
|
|
||||||
"steam-unwrapped"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.steam.enable = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,14 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.theming;
|
cfg = config.theming;
|
||||||
|
|
||||||
|
# Stylix
|
||||||
|
stylix = pkgs.fetchFromGitHub {
|
||||||
|
owner = "danth";
|
||||||
|
repo = "stylix";
|
||||||
|
rev = "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116";
|
||||||
|
sha256 = "0dz8h1ga8lnfvvmvsf6iqvnbvxrvx3qxi0y8s8b72066mqgvy8y5";
|
||||||
|
};
|
||||||
|
|
||||||
# Font module type
|
# Font module type
|
||||||
fontModule = types.submodule {
|
fontModule = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
@ -303,9 +311,6 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
modules.git.ignores = [
|
|
||||||
".direnv"
|
|
||||||
];
|
|
||||||
|
|
||||||
# TODO: Make cursors configurable using modules.
|
# TODO: Make cursors configurable using modules.
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
|
|
|
@ -28,7 +28,6 @@ in
|
||||||
"vscode"
|
"vscode"
|
||||||
"vscode-extension-github-copilot"
|
"vscode-extension-github-copilot"
|
||||||
"vscode-extension-github-copilot-chat"
|
"vscode-extension-github-copilot-chat"
|
||||||
"vscode-extension-ms-vsliveshare-vsliveshare"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
theming.fonts.extraFonts = [ cfg.codeFont ];
|
theming.fonts.extraFonts = [ cfg.codeFont ];
|
||||||
|
@ -45,9 +44,6 @@ in
|
||||||
gruntfuggly.todo-tree
|
gruntfuggly.todo-tree
|
||||||
github.copilot
|
github.copilot
|
||||||
github.copilot-chat
|
github.copilot-chat
|
||||||
tomoki1207.pdf
|
|
||||||
ms-vsliveshare.vsliveshare
|
|
||||||
ms-azuretools.vscode-docker
|
|
||||||
];
|
];
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
|
@ -65,10 +61,6 @@ in
|
||||||
|
|
||||||
# Layout
|
# Layout
|
||||||
"window.menuBarVisibility" = "hidden";
|
"window.menuBarVisibility" = "hidden";
|
||||||
|
|
||||||
# Git settings
|
|
||||||
"git.autofetch" = true;
|
|
||||||
"git.enableSmartCommit" = false;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.modules.zathura;
|
cfg = config.modules.zathura;
|
||||||
colors = config.theming.colors;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.modules.zathura.enable = lib.mkEnableOption "zathura";
|
options.modules.zathura.enable = lib.mkEnableOption "zathura";
|
||||||
|
@ -18,18 +17,6 @@ in
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
guioptions = "none";
|
guioptions = "none";
|
||||||
recolor = true;
|
|
||||||
recolor-keephue = false;
|
|
||||||
recolor-darkcolor = lib.mkForce "#${colors.accent}";
|
|
||||||
recolor-lightcolor = lib.mkForce "#${colors.bg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.mimeApps = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
defaultApplications = {
|
|
||||||
"application/pdf" = "zathura";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,59 +0,0 @@
|
||||||
{
|
|
||||||
fetchFromGitHub,
|
|
||||||
lib,
|
|
||||||
linux-pam,
|
|
||||||
rustPlatform,
|
|
||||||
testers,
|
|
||||||
lemurs,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "jellyfin-tui";
|
|
||||||
version = "1.0.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "dhonus";
|
|
||||||
repo = "jellyfin-tui";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-jHjTckdyPMJO1INF1AdJvvWTJ0ZJJGOxkBc0YZx9HWI=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoHash = "sha256-H6JTupGh1ec6/RIkoAPMl2agNSbF9B5CuJlxDNEwDc4=";
|
|
||||||
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
mpv
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
pkg-config
|
|
||||||
openssl
|
|
||||||
openssl.dev
|
|
||||||
];
|
|
||||||
|
|
||||||
desktopItems =
|
|
||||||
let
|
|
||||||
desktopEntry = pkgs.makeDesktopItem {
|
|
||||||
name = "siyuan";
|
|
||||||
desktopName = "SiYuan";
|
|
||||||
comment = "Refactor your thinking";
|
|
||||||
terminal = true;
|
|
||||||
exec = "jellyfin-tui";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
[
|
|
||||||
desktopEntry
|
|
||||||
];
|
|
||||||
|
|
||||||
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Jellyfin TUI music client written in Rust";
|
|
||||||
homepage = "https://github.com/dhonus/jellyfin-tui";
|
|
||||||
license = with licenses; [
|
|
||||||
gpl3
|
|
||||||
];
|
|
||||||
maintainers = with maintainers; [ ];
|
|
||||||
mainProgram = "jellyfin-tui";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,18 +1,15 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
{
|
{
|
||||||
nixpkgs.config = {
|
nixpkgs.config.packageOverrides = pkgs: rec {
|
||||||
android_sdk.accept_license = true;
|
wqy-zenhei = pkgs.callPackage ./fonts/wqy-zenhei.nix { };
|
||||||
packageOverrides = pkgs: {
|
wqy-microhei = pkgs.callPackage ./fonts/wqy-microhei.nix { };
|
||||||
dina-vector = pkgs.callPackage ./fonts/dina-vector.nix { };
|
wqy-bitmapsong = pkgs.callPackage ./fonts/wqy-bitmapsong.nix { };
|
||||||
wqy-zenhei = pkgs.callPackage ./fonts/wqy-zenhei.nix { };
|
|
||||||
wqy-microhei = pkgs.callPackage ./fonts/wqy-microhei.nix { };
|
|
||||||
wqy-bitmapsong = pkgs.callPackage ./fonts/wqy-bitmapsong.nix { };
|
|
||||||
temp-quickgui = pkgs.callPackage ./temp/quickgui.nix { };
|
|
||||||
# qutebrowser = pkgs.callPackage ./fixes/qutebrowser/default.nix { };
|
|
||||||
jellyfin-tui = pkgs.callPackage ./custom/jellyfin-tui.nix { };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,167 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
stdenv,
|
|
||||||
lib,
|
|
||||||
fetchurl,
|
|
||||||
fetchzip,
|
|
||||||
python3,
|
|
||||||
glib-networking,
|
|
||||||
asciidoc,
|
|
||||||
docbook_xml_dtd_45,
|
|
||||||
docbook_xsl,
|
|
||||||
libxml2,
|
|
||||||
libxslt,
|
|
||||||
withPdfReader ? true,
|
|
||||||
pipewireSupport ? stdenv.hostPlatform.isLinux,
|
|
||||||
pipewire,
|
|
||||||
enableWideVine ? false,
|
|
||||||
widevine-cdm,
|
|
||||||
# can cause issues on some graphics chips
|
|
||||||
enableVulkan ? false,
|
|
||||||
vulkan-loader,
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
# Load in Qt packages.
|
|
||||||
qtbase = pkgs.kdePackages.qtbase;
|
|
||||||
qtwebengine = pkgs.kdePackages.qtwebengine;
|
|
||||||
qtwayland = pkgs.kdePackages.qtwayland;
|
|
||||||
wrapQtAppsHook = pkgs.kdePackages.wrapQtAppsHook;
|
|
||||||
|
|
||||||
isQt6 = lib.versions.major qtbase.version == "6";
|
|
||||||
pdfjs =
|
|
||||||
let
|
|
||||||
version = "4.2.67";
|
|
||||||
in
|
|
||||||
fetchzip {
|
|
||||||
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip";
|
|
||||||
hash = "sha256-7kfT3+ZwoGqZ5OwkO9h3DIuBFd0v8fRlcufxoBdcy8c=";
|
|
||||||
stripRoot = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
version = "3.2.1";
|
|
||||||
in
|
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication {
|
|
||||||
pname = "qutebrowser" + lib.optionalString (!isQt6) "-qt5";
|
|
||||||
inherit version;
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz";
|
|
||||||
hash = "sha256-AqevKmxds42HsiWwuEEsgNmDgzXzLQ6KOPbX+804iX0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Needs tox
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[
|
|
||||||
qtbase
|
|
||||||
glib-networking
|
|
||||||
]
|
|
||||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
|
||||||
qtwayland
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
wrapQtAppsHook
|
|
||||||
asciidoc
|
|
||||||
docbook_xml_dtd_45
|
|
||||||
docbook_xsl
|
|
||||||
libxml2
|
|
||||||
libxslt
|
|
||||||
];
|
|
||||||
|
|
||||||
dependencies = with python3.pkgs; [
|
|
||||||
colorama
|
|
||||||
pyyaml
|
|
||||||
(if isQt6 then pyqt6-webengine else pyqtwebengine)
|
|
||||||
jinja2
|
|
||||||
pygments
|
|
||||||
# scripts and userscripts libs
|
|
||||||
tldextract
|
|
||||||
beautifulsoup4
|
|
||||||
readability-lxml
|
|
||||||
pykeepass
|
|
||||||
stem
|
|
||||||
pynacl
|
|
||||||
# extensive ad blocking
|
|
||||||
adblock
|
|
||||||
# for the qute-bitwarden user script to be able to copy the TOTP token to clipboard
|
|
||||||
pyperclip
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./fix-restart.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
dontWrapQtApps = true;
|
|
||||||
|
|
||||||
postPatch =
|
|
||||||
''
|
|
||||||
substituteInPlace qutebrowser/misc/quitter.py --subst-var-by qutebrowser "$out/bin/qutebrowser"
|
|
||||||
|
|
||||||
sed -i "s,/usr,$out,g" qutebrowser/utils/standarddir.py
|
|
||||||
''
|
|
||||||
+ lib.optionalString withPdfReader ''
|
|
||||||
sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
make -f misc/Makefile \
|
|
||||||
PYTHON=${(python3.pythonOnBuildForHost.withPackages (ps: with ps; [ setuptools ])).interpreter} \
|
|
||||||
PREFIX=. \
|
|
||||||
DESTDIR="$out" \
|
|
||||||
DATAROOTDIR=/share \
|
|
||||||
install
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# Patch python scripts
|
|
||||||
buildPythonPath "$out $propagatedBuildInputs"
|
|
||||||
scripts=$(grep -rl python "$out"/share/qutebrowser/{user,}scripts/)
|
|
||||||
for i in $scripts; do
|
|
||||||
patchPythonScript "$i"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
preFixup =
|
|
||||||
let
|
|
||||||
libPath = lib.makeLibraryPath [ pipewire ];
|
|
||||||
in
|
|
||||||
''
|
|
||||||
makeWrapperArgs+=(
|
|
||||||
# Force the app to use QT_PLUGIN_PATH values from wrapper
|
|
||||||
--unset QT_PLUGIN_PATH
|
|
||||||
"''${qtWrapperArgs[@]}"
|
|
||||||
# avoid persistant warning on starup
|
|
||||||
--set QT_STYLE_OVERRIDE Fusion
|
|
||||||
${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''}
|
|
||||||
${lib.optionalString (enableVulkan) ''
|
|
||||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
|
|
||||||
--set-default QSG_RHI_BACKEND vulkan
|
|
||||||
''}
|
|
||||||
${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''}
|
|
||||||
--set QTWEBENGINE_RESOURCES_PATH "${qtwebengine}/resources"
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/qutebrowser/qutebrowser";
|
|
||||||
changelog = "https://github.com/qutebrowser/qutebrowser/blob/v${version}/doc/changelog.asciidoc";
|
|
||||||
description = "Keyboard-focused browser with a minimal GUI";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
mainProgram = "qutebrowser";
|
|
||||||
platforms = if enableWideVine then [ "x86_64-linux" ] else qtwebengine.meta.platforms;
|
|
||||||
maintainers = with maintainers; [
|
|
||||||
jagajaga
|
|
||||||
rnhmjoj
|
|
||||||
ebzzry
|
|
||||||
dotlambda
|
|
||||||
nrdxp
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
diff --git a/quitter.py b/quitter.py
|
|
||||||
index a42b9d0..f544ccb 100644
|
|
||||||
--- a/qutebrowser/misc/quitter.py
|
|
||||||
+++ b/qutebrowser/misc/quitter.py
|
|
||||||
@@ -112,13 +112,7 @@ class Quitter(QObject):
|
|
||||||
Return:
|
|
||||||
The commandline as a list of strings.
|
|
||||||
"""
|
|
||||||
- if os.path.basename(sys.argv[0]) == 'qutebrowser':
|
|
||||||
- # Launched via launcher script
|
|
||||||
- args = [sys.argv[0]]
|
|
||||||
- elif hasattr(sys, 'frozen'):
|
|
||||||
- args = [sys.executable]
|
|
||||||
- else:
|
|
||||||
- args = [sys.executable, '-m', 'qutebrowser']
|
|
||||||
+ args = ['@qutebrowser@']
|
|
||||||
|
|
||||||
# Add all open pages so they get reopened.
|
|
||||||
page_args = [] # type: typing.MutableSequence[str]
|
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "dina-font";
|
|
||||||
version = "1.0.0";
|
|
||||||
|
|
||||||
# src = pkgs.fetchurl {
|
|
||||||
# url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
|
|
||||||
# # hash = "sha256-r2Vf7ftJCqu7jOc2AqCKaoR/r8eNw2P/OQGqbDOEyl0=";
|
|
||||||
# hash = "sha256-0uvwkRUbvJ0remTnlP8dElRjaBVd6iukNYBTE/CTO7s=";
|
|
||||||
# };
|
|
||||||
|
|
||||||
unpackPhase = "true";
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
pkgs.fontforge
|
|
||||||
pkgs.dina-font
|
|
||||||
pkgs.wqy-bitmapsong
|
|
||||||
pkgs.tree
|
|
||||||
];
|
|
||||||
buildPhase = ''
|
|
||||||
tree > debug.txt
|
|
||||||
'';
|
|
||||||
installPhase = ''
|
|
||||||
install -Dm644 $out/debug.txt
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -11,7 +11,7 @@ pkgs.stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
|
||||||
# hash = "sha256-r2Vf7ftJCqu7jOc2AqCKaoR/r8eNw2P/OQGqbDOEyl0=";
|
#hash = "sha256-r2Vf7ftJCqu7jOc2AqCKaoR/r8eNw2P/OQGqbDOEyl0=";
|
||||||
hash = "sha256-0uvwkRUbvJ0remTnlP8dElRjaBVd6iukNYBTE/CTO7s=";
|
hash = "sha256-0uvwkRUbvJ0remTnlP8dElRjaBVd6iukNYBTE/CTO7s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,70 +0,0 @@
|
||||||
{
|
|
||||||
fetchFromGitHub,
|
|
||||||
makeDesktopItem,
|
|
||||||
copyDesktopItems,
|
|
||||||
lib,
|
|
||||||
flutter,
|
|
||||||
quickemu,
|
|
||||||
zenity,
|
|
||||||
}:
|
|
||||||
flutter.buildFlutterApplication rec {
|
|
||||||
pname = "quickgui";
|
|
||||||
version = "1.2.10";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "quickemu-project";
|
|
||||||
repo = "quickgui";
|
|
||||||
rev = version;
|
|
||||||
hash = "sha256-M2Qy66RqsjXg7ZpHwaXCN8qXRIsisnIyaENx3KqmUfQ=";
|
|
||||||
};
|
|
||||||
|
|
||||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
|
||||||
|
|
||||||
gitHashes = {
|
|
||||||
window_size = "sha256-XelNtp7tpZ91QCEcvewVphNUtgQX7xrp5QP0oFo6DgM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
extraWrapProgramArgs = "--prefix PATH : ${
|
|
||||||
lib.makeBinPath [
|
|
||||||
quickemu
|
|
||||||
zenity
|
|
||||||
]
|
|
||||||
}";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
copyDesktopItems
|
|
||||||
];
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
for SIZE in 16 32 48 64 128 256 512; do
|
|
||||||
mkdir -p $out/share/icons/hicolor/$SIZEx$SIZE/apps/
|
|
||||||
cp -av assets/resources/quickgui_$SIZE.png $out/share/icons/hicolor/$SIZEx$SIZE/apps/quickgui.png
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
name = "quickgui";
|
|
||||||
exec = "quickgui";
|
|
||||||
icon = "quickgui";
|
|
||||||
desktopName = "Quickgui";
|
|
||||||
comment = "An elegant virtual machine manager for the desktop";
|
|
||||||
categories = [
|
|
||||||
"Development"
|
|
||||||
"System"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Elegant virtual machine manager for the desktop";
|
|
||||||
homepage = "https://github.com/quickemu-project/quickgui";
|
|
||||||
changelog = "https://github.com/quickemu-project/quickgui/releases/";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [
|
|
||||||
flexiondotorg
|
|
||||||
heyimnova
|
|
||||||
];
|
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
mainProgram = "quickgui";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -8,97 +8,43 @@
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
|
|
||||||
# TODO: Move into modules
|
# TODO: Move into modules
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ libreoffice-fresh ];
|
||||||
libreoffice-still
|
|
||||||
remmina
|
|
||||||
# dina-vector
|
|
||||||
android-studio
|
|
||||||
docker
|
|
||||||
docker-compose
|
|
||||||
jellyfin-tui
|
|
||||||
pinentry
|
|
||||||
thunderbird
|
|
||||||
signal-desktop
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.gpg = {
|
|
||||||
enable = true;
|
|
||||||
mutableKeys = true;
|
|
||||||
mutableTrust = true;
|
|
||||||
};
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enabled modules
|
# Enabled modules
|
||||||
modules = {
|
modules = {
|
||||||
# Theming
|
|
||||||
theming.enable = true;
|
|
||||||
|
|
||||||
# Window manager
|
# Window manager
|
||||||
river.enable = true;
|
river.enable = true;
|
||||||
waylock.enable = true;
|
waylock.enable = true;
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
glpaper.enable = false;
|
glpaper.enable = true;
|
||||||
|
|
||||||
# Desktop environment
|
# Theming
|
||||||
mako.enable = true;
|
theming.enable = true;
|
||||||
|
|
||||||
|
# Programs
|
||||||
|
feishin.enable = true;
|
||||||
|
firefox.enable = true;
|
||||||
foot.enable = true;
|
foot.enable = true;
|
||||||
|
mako.enable = true;
|
||||||
# Communication
|
vscode.enable = true;
|
||||||
|
zathura.enable = true;
|
||||||
|
fish.enable = true;
|
||||||
whatsapp.enable = true;
|
whatsapp.enable = true;
|
||||||
|
winbox.enable = true;
|
||||||
discord.enable = true;
|
discord.enable = true;
|
||||||
|
qutebrowser = {
|
||||||
# Browser
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
qutebrowser = {
|
|
||||||
enable = true;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Gaming
|
|
||||||
steam.enable = true;
|
|
||||||
|
|
||||||
# Media
|
|
||||||
spotify.enable = true;
|
|
||||||
feishin.enable = true;
|
|
||||||
|
|
||||||
# Tools
|
|
||||||
rofi-rbw.enable = true;
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
user = "Jan-Bulthuis";
|
|
||||||
email = "git@bulthuis.dev";
|
|
||||||
};
|
|
||||||
btop.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
bluetuith.enable = false;
|
|
||||||
winbox.enable = true;
|
|
||||||
obsidian.enable = true;
|
|
||||||
zathura.enable = true;
|
|
||||||
|
|
||||||
# Development
|
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
vscode.enable = true;
|
rofi-rbw.enable = true;
|
||||||
|
obsidian.enable = true;
|
||||||
|
bluetuith.enable = true;
|
||||||
|
|
||||||
# Languages
|
# Programming languages
|
||||||
haskell.enable = false;
|
haskell.enable = true;
|
||||||
js.enable = true;
|
|
||||||
nix.enable = true;
|
nix.enable = true;
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
python.enable = true;
|
|
||||||
cpp.enable = true;
|
|
||||||
tex.enable = true;
|
|
||||||
jupyter.enable = true;
|
|
||||||
python.extraPythonPackages = p: [
|
|
||||||
p.scikit-learn
|
|
||||||
p.numpy
|
|
||||||
p.matplotlib
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable unfree
|
# Enable unfree
|
||||||
unfree.enable = true;
|
unfree.enable = true;
|
||||||
|
@ -114,7 +60,7 @@
|
||||||
fonts.serif = fontpkgs."DejaVu Serif";
|
fonts.serif = fontpkgs."DejaVu Serif";
|
||||||
fonts.sansSerif = fontpkgs."DejaVu Sans";
|
fonts.sansSerif = fontpkgs."DejaVu Sans";
|
||||||
fonts.monospace = fontpkgs."Dina";
|
fonts.monospace = fontpkgs."Dina";
|
||||||
fonts.emoji = fontpkgs."Noto Color Emoji";
|
fonts.emoji = fontpkgs."Dina";
|
||||||
fonts.extraFonts = [ ];
|
fonts.extraFonts = [ ];
|
||||||
|
|
||||||
# Color scheme
|
# Color scheme
|
||||||
|
@ -123,10 +69,10 @@
|
||||||
darkMode = false;
|
darkMode = false;
|
||||||
};
|
};
|
||||||
themes.catppuccin = {
|
themes.catppuccin = {
|
||||||
enable = true;
|
enable = false;
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
};
|
};
|
||||||
themes.sakura.enable = false;
|
themes.sakura.enable = true;
|
||||||
|
|
||||||
# TODO: Remove
|
# TODO: Remove
|
||||||
# Nice themes:
|
# Nice themes:
|
||||||
|
|
Loading…
Reference in New Issue