Compare commits

..

5 commits

Author SHA1 Message Date
bb6eb4c6d2
neovim: update plugins [WIP] 2024-12-11 15:54:43 -05:00
82ede0d485
tsuki: add rnnoise 2024-12-11 15:54:15 -05:00
bbd1c97912
modules: update nur overlay 2024-12-11 15:53:21 -05:00
3e9bf0ff4c
users: add user to input 2024-12-11 15:52:42 -05:00
3016bd7149
flake.nix: pin hyprutils 2024-12-11 15:52:21 -05:00
14 changed files with 330 additions and 3444 deletions

3566
flake.lock

File diff suppressed because it is too large Load diff

View file

@ -56,13 +56,35 @@
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
### hypr ### hypr
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland = {
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
inputs.nixpkgs.follows = "nixpkgs";
};
hypridle.url = "github:hyprwm/hypridle"; hypridle.url = "github:hyprwm/hypridle";
hyprlock.url = "github:hyprwm/hyprlock"; hyprlock = {
hyprpicker.url = "github:hyprwm/hyprpicker"; url = "github:hyprwm/hyprlock";
hyprpaper.url = "github:hyprwm/hyprpaper"; inputs.nixpkgs.follows = "nixpkgs";
hyprsunset.url = "github:hyprwm/hyprsunset"; inputs.hyprutils.follows = "hyprutils";
hyprutils.url = "github:hyprwm/hyprutils"; };
hyprpicker = {
url = "github:hyprwm/hyprpicker";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprpaper = {
url = "github:hyprwm/hyprpaper";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprsunset = {
url = "github:hyprwm/hyprsunset";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprutils = {
url = "github:hyprwm/hyprutils";
inputs.nixpkgs.follows = "nixpkgs";
};
xdg-portal-hyprland = { xdg-portal-hyprland = {
url = "github:hyprwm/xdg-desktop-portal-hyprland"; url = "github:hyprwm/xdg-desktop-portal-hyprland";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -102,9 +124,5 @@
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nezia-dotfiles = {
url = "github:nezia1/flocon";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
} }

View file

@ -23,6 +23,7 @@ _: {
./ui/fidget.nix ./ui/fidget.nix
./ui/dashboard.nix ./ui/dashboard.nix
./ui/toggleterm.nix ./ui/toggleterm.nix
./ui/whichkey.nix
]; ];
programs.nixvim.plugins.web-devicons.enable = true; programs.nixvim.plugins.web-devicons.enable = true;
} }

View file

@ -1,5 +1,3 @@
_: { _: {
programs.nixvim.plugins.autoclose = { programs.nixvim.plugins.nvim-autopairs.enable = true;
enable = true;
};
} }

View file

@ -1,4 +1,16 @@
{pkgs, ...}: { {pkgs, ...}: let
treesitter-nu-grammar = pkgs.tree-sitter.buildGrammar {
language = "nu";
version = "0.0.0+rev=1561a94";
src = pkgs.fetchFromGitHub {
owner = "nushell";
repo = "tree-sitter-nu";
rev = "1561a947a5505d373e11ca337898e048ac2e389e";
hash = "sha256-RAAMBVov4q8b8MJZVlf1qwbLK8hE5AxPK1IV9TMCrTs=";
};
meta.homepage = "https://github.com/nushell/tree-sitter-nu";
};
in {
programs.nixvim.plugins.treesitter = { programs.nixvim.plugins.treesitter = {
enable = true; enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
@ -14,6 +26,7 @@
rust rust
go go
gomod gomod
treesitter-nu-grammar
]; ];
settings = { settings = {
highlight.enable = true; highlight.enable = true;

View file

@ -34,6 +34,9 @@ _: {
nushell = { nushell = {
enable = true; enable = true;
}; };
lua_ls = {
enable = true;
};
}; };
}; };
}; };

View file

@ -5,8 +5,11 @@
]; ];
extraConfigLua = '' extraConfigLua = ''
require('cord').setup { require('cord').setup {
timer = {
interval = 500,
},
editor = { editor = {
tooltip = 'Neovim' tooltip = 'Neovim',
}, },
display = { display = {
show_time = true, show_time = true,

View file

@ -0,0 +1,90 @@
_: {
programs.nixvim.plugins.which-key = {
enable = true;
settings = {
preset = "helix";
replace = {
desc = [
[
"<space>"
"SPACE"
]
[
"<leader>"
"SPACE"
]
[
"<[cC][rR]>"
"RETURN"
]
[
"<[tT][aA][bB]>"
"TAB"
]
[
"<[bB][sS]>"
"BACKSPACE"
]
];
spec = [
{
__unkeyed-1 = "<leader>b";
group = "Buffers";
icon = "󰓩 ";
}
{
__unkeyed = "<leader>c";
group = "Codesnap";
icon = "󰄄 ";
mode = "v";
}
{
__unkeyed-1 = "<leader>bs";
group = "Sort";
icon = "󰒺 ";
}
{
__unkeyed-1 = [
{
__unkeyed-1 = "<leader>f";
group = "Normal Visual Group";
}
{
__unkeyed-1 = "<leader>f<tab>";
group = "Normal Visual Group in Group";
}
];
mode = [
"n"
"v"
];
}
{
__unkeyed-1 = "<leader>w";
group = "windows";
proxy = "<C-w>";
}
{
__unkeyed-1 = "<leader>cS";
__unkeyed-2 = "<cmd>CodeSnapSave<CR>";
desc = "Save";
mode = "v";
}
{
__unkeyed-1 = "<leader>db";
__unkeyed-2 = {
__raw = ''
function()
require("dap").toggle_breakpoint()
end
'';
};
desc = "Breakpoint toggle";
mode = "n";
silent = true;
}
];
};
};
};
}

View file

@ -41,7 +41,7 @@
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
lowLatency = { lowLatency = {
enable = false; # disabled due to upstream issue enable = true;
quantum = 64; quantum = 64;
rate = 48000; rate = 48000;
}; };
@ -62,7 +62,6 @@
services.hyprlock = {}; services.hyprlock = {};
}; };
}; };
programs = { programs = {
gamemode.enable = true; gamemode.enable = true;
appimage = { appimage = {

View file

@ -10,6 +10,9 @@
boot = { boot = {
kernelModules = ["kvm-amd"]; kernelModules = ["kvm-amd"];
extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback.out
];
loader = { loader = {
systemd-boot = { systemd-boot = {
enable = true; enable = true;
@ -26,6 +29,8 @@
}; };
}; };
hardware.wooting.enable = true;
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/disk/by-uuid/a423d32f-ac5d-4ea2-82fb-f94b05afce29"; device = "/dev/disk/by-uuid/a423d32f-ac5d-4ea2-82fb-f94b05afce29";

View file

@ -5,5 +5,6 @@
./hydroxide.nix ./hydroxide.nix
./sunshine.nix ./sunshine.nix
./wivrn.nix ./wivrn.nix
./rnnoise.nix
]; ];
} }

View file

@ -0,0 +1,40 @@
{pkgs, ...}: {
services.pipewire.extraConfig.pipewire."00-rnnoise.conf" = {
"context.modules" = [
{
"name" = "libpipewire-module-filter-chain";
"args" = {
"node.description" = "Noise Cancelling source";
"media.name" = "Noise Cancelling source";
"filter.graph" = {
"nodes" = [
{
"type" = "ladspa";
"name" = "rnnoise";
"plugin" = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
"label" = "noise_suppressor_stereo";
"control" = {
"VAD Threshold (%)" = 50.0;
"VAD Grace Period (ms)" = 1000;
"Retroactive VAD Grace (ms)" = 100;
};
}
];
};
"audio.position" = ["FL" "FR"];
"capture.props" = {
"node.name" = "capture.rnnoise_source";
"node.passive" = true;
"audio.rate" = 48000;
};
"playback.props" = {
"node.name" = "rnnoise_source";
"media.class" = "Audio/Source";
"media.role" = "Communication";
"audio.rate" = 48000;
};
};
}
];
};
}

View file

@ -1,7 +1,7 @@
{inputs, ...}: { {inputs, ...}: {
nixpkgs = { nixpkgs = {
overlays = [ overlays = [
inputs.nur.overlay inputs.nur.overlays.default
inputs.helix.overlays.default inputs.helix.overlays.default
inputs.yazi.overlays.default inputs.yazi.overlays.default
inputs.hypridle.overlays.default inputs.hypridle.overlays.default

View file

@ -11,6 +11,7 @@
"disk" "disk"
"video" "video"
"docker" "docker"
"input"
]; ];
}; };
}; };