nvim config, mostly

This commit is contained in:
Vivian 2025-05-05 15:04:48 +02:00
parent 529a7e7767
commit fc075254bb
17 changed files with 499 additions and 771 deletions

View file

@ -20,7 +20,7 @@
./hm-modules ./hm-modules
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
inputs.autostart.homeManagerModules.xdg-autostart inputs.autostart.homeManagerModules.xdg-autostart
inputs.catppuccin.homeManagerModules.catppuccin inputs.catppuccin.homeModules.catppuccin
inputs.autostart.homeManagerModules.xdg-autostart inputs.autostart.homeManagerModules.xdg-autostart
]; ];
}; };

View file

@ -7,9 +7,6 @@
let let
tex = pkgs.texlive.combine { tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full; inherit (pkgs.texlive) scheme-full;
dnd-5e-latex-template = {
pkgs = [ pkgs.v.dnd-5e-latex-template ];
};
}; };
my-python-packages = my-python-packages =
ps: with ps; [ ps: with ps; [
@ -29,7 +26,7 @@ in
home.packages = with pkgs; [ home.packages = with pkgs; [
(python3.withPackages my-python-packages) (python3.withPackages my-python-packages)
btop btop
# calibre calibre
celluloid # video player celluloid # video player
element-desktop element-desktop
fusee-launcher fusee-launcher
@ -38,20 +35,16 @@ in
gimp gimp
comma comma
discord discord
jetbrains.rust-rover tex
kdenlive # jetbrains.rust-rover
# libreoffice # libreoffice
mattermost-desktop
neofetch neofetch
nixpkgs-review nixpkgs-review
obsidian
spotify spotify
qmk qmk
solo2-cli solo2-cli
tex
unzip unzip
yt-dlp yt-dlp
# z3
obsidian obsidian
(lib.hiPrio (pkgs.writeShellScriptBin "obsidian" '' (lib.hiPrio (pkgs.writeShellScriptBin "obsidian" ''
@ -59,16 +52,6 @@ in
${pkgs.obsidian}/bin/obsidian ${pkgs.obsidian}/bin/obsidian
'')) ''))
]; ];
#
# xdg.desktopEntries = {
# obsidian = {
# name = "Obsidian";
# genericName = "Markdown Editor";
# exec = "obsidian";
# terminal = false;
# };
# };
# Enable my own hm modules # Enable my own hm modules
themes.v.catppuccin.enable = true; themes.v.catppuccin.enable = true;
programs = { programs = {
@ -106,7 +89,6 @@ in
}; };
}; };
xdg.autoStart = { xdg.autoStart = {
packages = with pkgs; [ packages = with pkgs; [
element-desktop element-desktop

View file

@ -20,13 +20,8 @@ in
waybar.enable = false; waybar.enable = false;
mako.enable = true; mako.enable = false;
rofi.enable = true; rofi.enable = true;
# gtk = {
# enable = true;
# gnomeShellTheme = true;
# icon.enable = false;
# };
hyprland.enable = true; hyprland.enable = true;
kitty.enable = true; kitty.enable = true;
@ -34,11 +29,11 @@ in
kvantum.enable = true; kvantum.enable = true;
}; };
home.pointerCursor = { # home.pointerCursor = {
name = "Bibata_Ghost"; # name = "Bibata_Ghost";
size = 24; # size = 24;
package = pkgs.bibata-cursors-translucent; # package = pkgs.bibata-cursors-translucent;
}; # };
programs.kitty = { programs.kitty = {
# themeFile = "Catppuccin-Frappe"; # themeFile = "Catppuccin-Frappe";
@ -51,9 +46,9 @@ in
name = "Papirus-Dark"; name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override { color = "violet"; }; package = pkgs.papirus-icon-theme.override { color = "violet"; };
}; };
cursorTheme = { # cursorTheme = {
inherit (config.home.pointerCursor) name package size; # inherit (config.home.pointerCursor) name package size;
}; # };
}; };
qt = { qt = {
@ -63,9 +58,5 @@ in
platformTheme.name = "kvantum"; platformTheme.name = "kvantum";
}; };
programs.vscode = {
userSettings."workbench.colorTheme" = "Catppuccin Frappé";
extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ];
};
}; };
} }

View file

@ -44,6 +44,11 @@ with lib;
shiftwidth = 2; shiftwidth = 2;
smartindent = true; smartindent = true;
title = true;
spell = true;
spelllang = "en_gb";
}; };
clipboard.providers.wl-copy.enable = true; clipboard.providers.wl-copy.enable = true;
@ -61,22 +66,34 @@ with lib;
plugins = { plugins = {
nvim-surround.enable = true; nvim-surround.enable = true;
dap.enable = true;
image = { vimwiki = {
enable = true; enable = true;
backend = "kitty"; settings = {
list = [
{
ext = ".md";
path = "~/cloud/Notes/";
syntax = "markdown";
}
];
};
};
image = {
enable = false;
settings.backend = "kitty";
}; };
web-devicons.enable = true; web-devicons.enable = true;
bufferline.enable = true; bufferline.enable = true;
nix.enable = true; nix.enable = true;
luasnip.enable = true; luasnip.enable = true;
typst-vim.enable = true;
startup = { startup = {
enable = true; enable = true;
theme = "my_theme"; theme = "my_theme";
}; };
obsidian = { obsidian = {
enable = true; enable = false;
settings = { settings = {
new_notes_location = "notes_subdir"; new_notes_location = "notes_subdir";
notes_subdir = "Unsorted"; notes_subdir = "Unsorted";
@ -94,35 +111,18 @@ with lib;
nvim_cmp = true; nvim_cmp = true;
}; };
picker.name = "telescope.nvim"; picker.name = "telescope.nvim";
# note_id_func = ''
# function(title)
# -- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
# -- In this case a note with the title 'My new note' will be given an ID that looks
# -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
# local suffix = ""
# if title ~= nil then
# -- If title is given, transform it into valid file name.
# suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
# else
# -- If title is nil, just add 4 random uppercase letters to the suffix.
# for _ = 1, 4 do
# suffix = suffix .. string.char(math.random(65, 90))
# end
# end
# return tostring(os.time()) .. "-" .. suffix
# end
# '';
}; };
}; };
fidget = { fidget = {
enable = true; enable = true;
settings = {
progress = { progress = {
ignoreDoneAlready = true;
ignore = [ "ltex" ]; ignore = [ "ltex" ];
display.doneTtl = 5; display.done_ttl = 5;
}; };
notification = { notification = {
overrideVimNotify = true; override_vim_notify = true;
};
}; };
}; };
neotest = { neotest = {
@ -156,6 +156,10 @@ with lib;
settings.options.theme = "catppuccin"; settings.options.theme = "catppuccin";
}; };
oil = {
enable = true;
};
telescope = { telescope = {
enable = true; enable = true;
settings.defaults.preview.ls_short = true; settings.defaults.preview.ls_short = true;
@ -169,9 +173,11 @@ with lib;
extensions.fzf-native.enable = true; extensions.fzf-native.enable = true;
extensions.fzf-native.settings.fuzzy = true; extensions.fzf-native.settings.fuzzy = true;
extensions.frecency.enable = true; extensions.frecency.enable = true;
extensions.ui-select.enable = true;
}; };
comment.enable = true; comment.enable = true;
vimtex.enable = true; vimtex.enable = false;
typst-preview.enable = true;
floaterm.enable = true; floaterm.enable = true;
cmp = { cmp = {
enable = true; enable = true;

View file

@ -38,11 +38,11 @@
key = "<leader>fr"; key = "<leader>fr";
action = ":Telescope frecency<CR>"; action = ":Telescope frecency<CR>";
} }
{ # {
mode = "n"; # mode = "n";
key = "<leader>ob"; #key = "<leader>ob";
action = mkRaw "require('obsidian_picker').obsidian_picker"; # action = mkRaw "require('obsidian_picker').obsidian_picker";
} #}
# Commenting # Commenting
{ {
mode = "n"; mode = "n";
@ -140,7 +140,18 @@
{ {
mode = "n"; mode = "n";
key = "<M-CR>"; key = "<M-CR>";
action = ":Lspsaga code_action<CR>"; action = mkRaw "vim.lsp.buf.code_action";
}
{
mode = "n";
key = "<leader>e";
action = mkRaw "vim.diagnostic.open_float";
}
# oil
{
mode = "n";
key = "-";
action = "<CMD>Oil<CR>";
} }
]; ];
} }

View file

@ -3,7 +3,6 @@
plugins = { plugins = {
rustaceanvim = { rustaceanvim = {
enable = true; enable = true;
rustAnalyzerPackage = pkgs.rust-analyzer;
settings = { settings = {
auto_attach = true; auto_attach = true;
@ -70,6 +69,7 @@
clangd.enable = true; clangd.enable = true;
yamlls.enable = true; yamlls.enable = true;
lua_ls.enable = true; lua_ls.enable = true;
tinymist.enable = true;
}; };
}; };

View file

@ -28,6 +28,7 @@ in
[build] [build]
rustc-wrapper = "${pkgs.sccache}/bin/sccache" rustc-wrapper = "${pkgs.sccache}/bin/sccache"
[profile.rust-analyzer] [profile.rust-analyzer]
inherits = "dev" inherits = "dev"
''; '';

View file

@ -16,6 +16,7 @@ in
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscode; package = pkgs.vscode;
profiles.default = {
userSettings = { userSettings = {
"ltex.language" = "en-GB"; "ltex.language" = "en-GB";
"latex-workshop.linting.chktex.enabled" = true; "latex-workshop.linting.chktex.enabled" = true;
@ -75,11 +76,9 @@ in
"/nix" = true; "/nix" = true;
}; };
}; };
extensions = extensions = with pkgs.vscode-extensions; [
with pkgs.vscode-extensions;
[
brettm12345.nixfmt-vscode brettm12345.nixfmt-vscode
catppuccin.catppuccin-vsc # catppuccin.catppuccin-vsc
codezombiech.gitignore codezombiech.gitignore
codezombiech.gitignore codezombiech.gitignore
davidlday.languagetool-linter davidlday.languagetool-linter
@ -110,6 +109,7 @@ in
continue.continue continue.continue
]; ];
}; };
};
}; };
} }

View file

@ -28,7 +28,6 @@
eval "$(${pkgs.fzf}/bin/fzf --zsh)" eval "$(${pkgs.fzf}/bin/fzf --zsh)"
export TEMPDIRS="$HOME/tmp" export TEMPDIRS="$HOME/tmp"
source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh"
''; '';
# otherwise it'll override the grml prompt # otherwise it'll override the grml prompt
promptInit = lib.mkDefault ""; promptInit = lib.mkDefault "";

717
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -164,7 +164,7 @@
devShells.default = channels.nixpkgs.mkShell { devShells.default = channels.nixpkgs.mkShell {
name = "devShell"; name = "devShell";
VAULT_ADDR = "http://vault.olympus:8200/"; VAULT_ADDR = "http://vault.olympus:8200/";
FLAKE = "/home/vivian/src/infrastructure-new"; NH_FLAKE = "/home/vivian/src/infrastructure-new";
packages = with pkgs; [ packages = with pkgs; [
# attic.packages.${system}.attic # attic.packages.${system}.attic
apply-local apply-local

View file

@ -0,0 +1,146 @@
# Copy this file to /etc/udev/rules.d/
# If rules fail to reload automatically, you can refresh udev rules
# with the command "udevadm control --reload"
# This rules are based on the udev rules from the OpenOCD project, with unsupported probes removed.
# See http://openocd.org/ for more details.
#
# This file is available under the GNU General Public License v2.0
ACTION!="add|change", GOTO="probe_rs_rules_end"
SUBSYSTEM=="gpio", MODE="0660", GROUP="plugdev", TAG+="uaccess"
SUBSYSTEM!="usb|tty|hidraw", GOTO="probe_rs_rules_end"
# Please keep this list sorted by VID:PID
# STMicroelectronics ST-LINK V1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess"
# STMicroelectronics ST-LINK/V2
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess"
# STMicroelectronics ST-LINK/V2.1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="660", GROUP="plugdev", TAG+="uaccess"
# STMicroelectronics STLINK-V3
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3753", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3754", MODE="660", GROUP="plugdev", TAG+="uaccess"
# SEGGER J-Link
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1003", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1004", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1005", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1006", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1007", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1008", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1009", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100c", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100f", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1019", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101c", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101f", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1020", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1021", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1022", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1023", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1024", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1025", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1026", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1027", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1028", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1029", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102c", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102f", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1050", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1051", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1052", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1053", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1054", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1055", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1056", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1057", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1058", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1059", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105c", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105f", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1060", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1061", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1062", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1063", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1064", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1065", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1066", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1067", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1068", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1069", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106b", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106c", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106d", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106f", MODE="660", GROUP="plugdev", TAG+="uaccess"
# FT232H
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess"
# FT2232x
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess"
# FT4232H
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess"
# FTDI-based Olimex devices
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0003", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0004", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002a", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002b", MODE="660", GROUP="plugdev", TAG+="uaccess"
# Espressif USB JTAG/serial debug unit
ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess"
# Espressif USB Bridge
ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess"
# CMSIS-DAP compatible adapters
ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess"
# WCH Link (CMSIS-DAP compatible adapter)
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8011", MODE="660", GROUP="plugdev", TAG+="uaccess"
LABEL="probe_rs_rules_end"

View file

@ -25,9 +25,7 @@
# Bootloader. # Bootloader.
boot = { boot = {
kernelParams = [
"amdgpu.dcdebugmask=0x10" # Disables partial screen refresh, fixes flicker
];
bootspec.enable = true; bootspec.enable = true;
initrd.kernelModules = [ "amdgpu" ]; initrd.kernelModules = [ "amdgpu" ];
resumeDevice = "/dev/nvme0n1p2"; resumeDevice = "/dev/nvme0n1p2";

View file

@ -6,6 +6,13 @@
lshw lshw
]; ];
boot = {
kernelParams = [
"amdgpu.dcdebugmask=0x10" # Disables partial screen refresh, fixes flicker
"kvm.enable_virt_at_load=0"
];
};
hardware = { hardware = {
enableAllFirmware = true; enableAllFirmware = true;
bluetooth.enable = true; bluetooth.enable = true;
@ -14,7 +21,7 @@
graphics = { graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
mesa.drivers mesa
]; ];
}; };
@ -43,7 +50,7 @@
# Video Driver # Video Driver
xserver = { xserver = {
videoDrivers = [ "displaylink" ]; # videoDrivers = [ "displaylink" ];
dpi = 280; dpi = 280;
}; };

View file

@ -41,47 +41,6 @@ in
path = "screenshot"; path = "screenshot";
blur_passes = 3; blur_passes = 3;
}; };
input-field = {
size = "500, 100";
outline_thickness = 0;
dots_size = 0.25; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.55; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
dots_rounding = -1;
outer_color = "rgba(242, 243, 244, 0)";
inner_color = "rgba(242, 243, 244, 0)";
font_color = "rgba(242, 243, 244, 0.75)";
fade_on_empty = false;
placeholder_text = "Enter password or scan fingerprint.."; # Text rendered in the input box when it's empty.
hide_input = false;
check_color = "rgba(204, 136, 34, 0)";
fail_color = "rgba(204, 34, 34, 0)"; # if authentication failed, changes outer_color and fail message color
fail_text = "$FAIL <b>($ATTEMPTS)</b>"; # can be set to empty
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
capslock_color = -1;
numlock_color = -1;
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false; # change color if numlock is off
swap_font_color = false; # see below
# position = "0, -468";
position = "0, -900";
halign = "center";
valign = "center";
};
label = [
{
text = "$TIME";
inherit color;
shadow_passes = 1;
shadow_boost = 0.5;
font_size = 120;
# position = "0, 900";
halign = "center";
valign = "center";
}
];
}; };
}; };
@ -96,7 +55,7 @@ in
mako = { mako = {
enable = true; enable = true;
defaultTimeout = 5000; settings.defaultTimeout = 5000;
}; };
hypridle = { hypridle = {
@ -173,7 +132,7 @@ in
# Autostart now handled by xdg.autoStart # Autostart now handled by xdg.autoStart
startup = pkgs.writeScriptBin "startup.sh" '' startup = pkgs.writeScriptBin "startup.sh" ''
#!${pkgs.stdenv.shell} #!${pkgs.stdenv.shell}
uwsm app -- ${pkgs.wl-clip-persist}/bin/wl-clip-persist -c both & # uwsm app -- ${pkgs.wl-clip-persist}/bin/wl-clip-persist -c both &
''; '';
in in
{ {

View file

@ -1,45 +1,12 @@
# Config options needed for various university courses, such as: # Config options needed for various university courses
# * Wireless IoT and Local Area Networks { pkgs, lib, ... }:
# * Network Security
# * Smart Phone Sensing
# * PDP
# * RTS
{ pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ ]; environment.systemPackages = with pkgs; [ ];
hardware.saleae-logic = {
enable = true;
package = pkgs.saleae-logic-2;
};
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
programs.mininet.enable = true;
virtualisation = {
podman.enable = true;
# virtualbox.host = {
# enable = true;
# };
docker = {
enable = false;
storageDriver = "btrfs";
};
};
users.extraGroups.plugdev = { }; users.extraGroups.plugdev = { };
users.extraUsers.vivian.extraGroups = [ users.extraUsers.vivian.extraGroups = [
# "wireshark"
# "docker"
# "lxd"
# "vboxusers"
"plugdev"
"dialout" "dialout"
"plugdev"
]; ];
programs.nix-ld = { programs.nix-ld = {
@ -50,39 +17,12 @@
]; ];
}; };
# Vivado udev
services.udev.packages = [ services.udev.packages = [
pkgs.platformio-core pkgs.openocd # This should(?) be the same as the probe-rs rules below, but just to be sure
pkgs.openocd
(pkgs.writeTextFile { (pkgs.writeTextFile {
name = "xilinx-dilligent-usb-udev"; name = "probe-rs-udev";
destination = "/etc/udev/rules.d/52-xilinx-digilent-usb.rules"; destination = "/etc/udev/rules.d/69-probe-rs.rules";
text = '' text = builtins.readFile ./69-probe-rs.rules;
ATTR{idVendor}=="1443", MODE:="666"
ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE:="666"
'';
})
(pkgs.writeTextFile {
name = "xilinx-pcusb-udev";
destination = "/etc/udev/rules.d/52-xilinx-pcusb.rules";
text = ''
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0008", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0007", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0009", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="000d", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="000f", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0013", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0015", MODE="666"
'';
})
(pkgs.writeTextFile {
name = "xilinx-ftdi-usb-udev";
destination = "/etc/udev/rules.d/52-xilinx-ftdi-usb.rules";
text = ''
ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Xilinx", MODE:="666"
'';
}) })
]; ];
} }

View file

@ -1,3 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}