nvim config, mostly
This commit is contained in:
parent
529a7e7767
commit
fc075254bb
17 changed files with 499 additions and 771 deletions
|
@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
progress = {
|
settings = {
|
||||||
ignoreDoneAlready = true;
|
progress = {
|
||||||
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;
|
||||||
|
|
|
@ -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>";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -16,70 +16,69 @@ in
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
userSettings = {
|
profiles.default = {
|
||||||
"ltex.language" = "en-GB";
|
userSettings = {
|
||||||
"latex-workshop.linting.chktex.enabled" = true;
|
"ltex.language" = "en-GB";
|
||||||
"latex-workshop.latex.clean.subfolder.enabled" = true;
|
"latex-workshop.linting.chktex.enabled" = true;
|
||||||
"latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
|
"latex-workshop.latex.clean.subfolder.enabled" = true;
|
||||||
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
"latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
|
||||||
"keyboard.dispatch" = "keyCode";
|
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
||||||
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
"keyboard.dispatch" = "keyCode";
|
||||||
"rust-analyzer.check.extraArgs" = [
|
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
||||||
"--profile"
|
"rust-analyzer.check.extraArgs" = [
|
||||||
"rust-analyzer"
|
"--profile"
|
||||||
];
|
"rust-analyzer"
|
||||||
"rust-analyzer.check.command" = "clippy";
|
];
|
||||||
"terminal.integrated.defaultProfile.linux" = "zsh";
|
"rust-analyzer.check.command" = "clippy";
|
||||||
"nix.enableLanguageServer" = true; # Enable LSP.
|
"terminal.integrated.defaultProfile.linux" = "zsh";
|
||||||
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
"nix.enableLanguageServer" = true; # Enable LSP.
|
||||||
"[nix]" = {
|
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
||||||
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
|
"[nix]" = {
|
||||||
};
|
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
|
||||||
"[python]" = {
|
};
|
||||||
"editor.formatOnType" = true;
|
"[python]" = {
|
||||||
};
|
"editor.formatOnType" = true;
|
||||||
"debug.allowBreakpointsEverywhere" = true;
|
};
|
||||||
"C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
|
"debug.allowBreakpointsEverywhere" = true;
|
||||||
# "crates.compatibleDecorator" = "✓";
|
"C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
|
||||||
# "crates.errorDecorator" = "✗";
|
# "crates.compatibleDecorator" = "✓";
|
||||||
# "crates.incompatibleDecorator" = "🛇";
|
# "crates.errorDecorator" = "✗";
|
||||||
|
# "crates.incompatibleDecorator" = "🛇";
|
||||||
|
|
||||||
# Verilog
|
# Verilog
|
||||||
"verilog.formatting.verilogHDL.formatter" = "verible-verilog-format";
|
"verilog.formatting.verilogHDL.formatter" = "verible-verilog-format";
|
||||||
"verilog.languageServer.svls.enabled" = true;
|
"verilog.languageServer.svls.enabled" = true;
|
||||||
"verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls";
|
"verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls";
|
||||||
"verilog.languageServer.veribleVerilogLs.enabled" = true;
|
"verilog.languageServer.veribleVerilogLs.enabled" = true;
|
||||||
"verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls";
|
"verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls";
|
||||||
"verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format";
|
"verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format";
|
||||||
"verilog.linting.linter" = "verilator";
|
"verilog.linting.linter" = "verilator";
|
||||||
"verilog.linting.path" = "${pkgs.verilator}/bin/verilator";
|
"verilog.linting.path" = "${pkgs.verilator}/bin/verilator";
|
||||||
"[verilog]" = {
|
"[verilog]" = {
|
||||||
"editor.defaultFormatter" = "mshr-h.veriloghdl";
|
"editor.defaultFormatter" = "mshr-h.veriloghdl";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Don't index unecessary things
|
# Don't index unecessary things
|
||||||
"files.exclude" = {
|
"files.exclude" = {
|
||||||
"**/.vscode" = true;
|
"**/.vscode" = true;
|
||||||
"**/.git" = true;
|
"**/.git" = true;
|
||||||
"**/.svn" = true;
|
"**/.svn" = true;
|
||||||
"**/.hg" = true;
|
"**/.hg" = true;
|
||||||
"**/.deps" = true;
|
"**/.deps" = true;
|
||||||
"**/CVS" = true;
|
"**/CVS" = true;
|
||||||
"**/.DS_Store" = true;
|
"**/.DS_Store" = true;
|
||||||
"/bin" = true;
|
"/bin" = true;
|
||||||
"/boot" = true;
|
"/boot" = true;
|
||||||
"/cdrom" = true;
|
"/cdrom" = true;
|
||||||
"/dev" = true;
|
"/dev" = true;
|
||||||
"/proc" = true;
|
"/proc" = true;
|
||||||
"/etc" = true;
|
"/etc" = true;
|
||||||
"/nix" = true;
|
"/nix" = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
extensions = with pkgs.vscode-extensions; [
|
||||||
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
|
||||||
|
@ -109,6 +108,7 @@ in
|
||||||
xaver.clang-format
|
xaver.clang-format
|
||||||
continue.continue
|
continue.continue
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
717
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||||
|
|
146
hosts/thalassa/aoife/69-probe-rs.rules
Normal file
146
hosts/thalassa/aoife/69-probe-rs.rules
Normal 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"
|
|
@ -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";
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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"
|
|
||||||
'';
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue