1
0
Fork 0
forked from emily/nixfiles
This commit is contained in:
emily 2024-03-24 19:57:02 +01:00
parent b3b7a49123
commit bbe2030d61
Signed by untrusted user: emily
GPG key ID: F6F4C66207FCF995
6 changed files with 110 additions and 238 deletions

View file

@ -45,6 +45,7 @@
imagemagick_light imagemagick_light
#ubuntu_font_family #ubuntu_font_family
libsForQt5.breeze-icons
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; }) (nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
jetbrains-mono jetbrains-mono
font-awesome font-awesome
@ -58,7 +59,6 @@
programs.eza = { programs.eza = {
enable = true; enable = true;
enableAliases = true;
icons = true; icons = true;
git = true; git = true;
extraOptions = [ extraOptions = [

View file

@ -60,7 +60,7 @@
publish.enable = true; publish.enable = true;
publish.userServices = true; publish.userServices = true;
}; };
services.fprintd.enable = true; services.fprintd.enable = lib.mkForce false;
services.fstrim.enable = true; services.fstrim.enable = true;
services.openssh.enable = true; services.openssh.enable = true;
services.pcscd.enable = true; services.pcscd.enable = true;

View file

@ -32,6 +32,7 @@
MOZ_ENABLE_WAYLAND = "1"; MOZ_ENABLE_WAYLAND = "1";
CLUTTER_BACKEND = "wayland"; CLUTTER_BACKEND = "wayland";
}; };
xdg.icons.enable = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; wlr.enable = true;
@ -145,6 +146,7 @@
passes = 2; passes = 2;
}; };
}; };
dwindle.no_gaps_when_only = 1;
animations = { animations = {
bezier = [ bezier = [
"wind, 0.05, 0.9, 0.1, 1.05" "wind, 0.05, 0.9, 0.1, 1.05"
@ -174,15 +176,15 @@
float_switch_override_focus = 2; float_switch_override_focus = 2;
touchpad = { touchpad = {
natural_scroll = true; natural_scroll = true;
scroll_factor = 0;
tap-to-click = false; tap-to-click = false;
drag_lock = true; drag_lock = true;
}; };
}; };
gestures = { gestures = {
workspace_swipe = true; workspace_swipe = true;
workspace_swipe_min_speed_to_force = 15; workspace_swipe_distance = 3200;
workspace_swipe_cancel_ratio = 0.3; workspace_swipe_min_speed_to_force = 40;
workspace_swipe_cancel_ratio = 0.15;
workspace_swipe_forever = true; workspace_swipe_forever = true;
}; };
group = { group = {
@ -198,28 +200,37 @@
}; };
misc = { misc = {
disable_hyprland_logo = true; disable_hyprland_logo = true;
disable_splash_rendering = true;
vrr = 1; vrr = 1;
}; };
"device:syna8013:00-06cb:ce69-touchpad" = { device = [
sensitivity = 0.3; {
}; name = "syna8013:00-06cb:ce69-touchpad";
"device:logitech-m705" = { sensitivity = 0.3;
sensitivity = 0.1; }
accel_profile = "flat"; {
}; name = "logitech-m705";
"device:tpps/2-ibm-trackpoint" = { sensitivity = 0.1;
sensitivity = 0.2; accel_profile = "flat";
scroll_method = "on_button_down"; }
accel_profile = "flat"; {
}; name = "tpps/2-ibm-trackpoint";
"device:tpps/2-elan-trackpoint" = { sensitivity = 0.2;
sensitivity = 0; scroll_method = "on_button_down";
scroll_method = "on_button_down"; accel_profile = "flat";
accel_profile = "flat"; }
}; {
name = "tpps/2-elan-trackpoint";
sensitivity = 0;
scroll_method = "on_button_down";
accel_profile = "flat";
}
];
layerrule = [ "blur, waybar" ];
monitor = [ monitor = [
"eDP-1, 3840x2400@60, 0x0, 1, bitdepth, 10" "eDP-1, 3840x2400@60, 0x0, 1, bitdepth, 10"
"eDP-1, addreserved,-8,0,0,0" #"eDP-1, 2560x1600@60, 0x0, 1, bitdepth, 10"
#"eDP-1, 1920x1200@60, 0x0, 1, bitdepth, 10"
"desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021529, 1920x1080@60, -320x-1080, 1" "desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021529, 1920x1080@60, -320x-1080, 1"
"desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021525, 1920x1080@60, 1600x-1080, 1" "desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021525, 1920x1080@60, 1600x-1080, 1"
",preferred,auto,1" ",preferred,auto,1"
@ -254,8 +265,8 @@
"$mod, F2, exec, ${firefox}" "$mod, F2, exec, ${firefox}"
# Rofi # Rofi
"$mod, D, exec, ${rofi} -show drun -theme $XDG_CONFIG_HONE/rofi/launcher.rasi" "$mod, D, exec, ${rofi} -show drun -theme ~/.config/rofi/launcher.rasi"
"$mod, R, exec, ${rofi} -show run -theme $XDG_CONFIG_HOME/rofi/runner.rasi" "$mod, R, exec, ${rofi} -show run -theme ~/.config/rofi/runner.rasi"
"$mod, X, exec, ~/.local/bin/hypr/rofi_powermenu.sh" "$mod, X, exec, ~/.local/bin/hypr/rofi_powermenu.sh"
"$mod, A, exec, ~/.local/bin/hypr/rofi_screenshot.sh" "$mod, A, exec, ~/.local/bin/hypr/rofi_screenshot.sh"
@ -528,7 +539,7 @@
}; };
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font.size = 11; font.size = 13;
font.name = "JetBrains Mono"; font.name = "JetBrains Mono";
settings = { settings = {
enable_audio_bell = false; enable_audio_bell = false;
@ -555,6 +566,12 @@
enable = true; enable = true;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
}; };
programs.zoxide = {
enable = true;
options = [ "--cmd cd" ];
};
programs.fzf.enable = true;
qt = { qt = {
enable = true; enable = true;
@ -562,10 +579,12 @@
style.name = "kvantum-dark"; style.name = "kvantum-dark";
style.package = with pkgs; [ style.package = with pkgs; [
libsForQt5.qtstyleplugin-kvantum libsForQt5.qtstyleplugin-kvantum
qt6Packagee.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum
(catppuccin-kvantum.override { accent = "Mauve"; variant = "Macchiato"; }) (catppuccin-kvantum.override { accent = "Mauve"; variant = "Macchiato"; })
]; ];
}; };
gtk.iconTheme.name = "Adwaita";
gtk.iconTheme.package = pkgs.gnome.adwaita-icon-theme;
services.gammastep = { services.gammastep = {
enable = true; enable = true;
@ -625,8 +644,8 @@
enable = true; enable = true;
systemdTarget = "hyprland-session.target"; systemdTarget = "hyprland-session.target";
events = [ events = [
{ event = "before-sleep"; command = "${swaylock} -f -i ${config.home-manager.users.emily.xdg.userDirs.pictures}/wallpapers/lockscreen.png"; } { event = "before-sleep"; command = "${swaylock} -f -i $XDG_PICTURES_DIR/wallpapers/lockscreen.png"; }
{ event = "lock"; command = "${swaylock} -f -i ${config.home-manager.users.emily.xdg.userDirs.pictures}/wallpapers/lockscreen.png"; } { event = "lock"; command = "${swaylock} -f -i $XDG_PICTURES_DIR/wallpapers/lockscreen.png"; }
]; ];
}; };
@ -671,7 +690,7 @@
enable = true; enable = true;
desktop = null; desktop = null;
documents = "${home}/docs"; documents = "${home}/docs";
downloads = "${home}/Downloads"; download = "${home}/Downloads";
music = "${home}/music"; music = "${home}/music";
pictures = "${home}/Pictures"; pictures = "${home}/Pictures";
publicShare = null; publicShare = null;

View file

@ -41,20 +41,11 @@
} }
window#waybar { window#waybar {
/* border-bottom: 4px solid shade(@base, 1.1); */ background-color: rgba(9, 3, 18, 0.70);
/* border-radius: 10px; */
/* background:#2d2a2e; */
/* background-color: rgba(36, 39, 58, 0.60); */
/* background-color: rgba(0, 0, 0, 0); */
/* background-color: shade(#1e1e2e, 0.95); */
/* background-color: rgba(9, 3, 18, 0.70); */
background: none;
} }
#workspaces button { #workspaces button {
color: @base; color: @base;
border-radius: 50%;
/* background-color: @base; */
margin: 0px 8px 0px 8px; margin: 0px 8px 0px 8px;
padding: 2px 6px 2px 0px; padding: 2px 6px 2px 0px;
} }
@ -65,7 +56,6 @@ window#waybar {
#workspaces button:hover { #workspaces button:hover {
color: @mauve; color: @mauve;
/* border-radius: 20px; */
box-shadow: none; /* Remove predefined box-shadow */ box-shadow: none; /* Remove predefined box-shadow */
text-shadow: none; /* Remove predefined text-shadow */ text-shadow: none; /* Remove predefined text-shadow */
border: 0px; border: 0px;
@ -77,17 +67,11 @@ window#waybar {
} }
#workspaces { #workspaces {
border-style: solid;
background-color: shade(@base, 0.7);
opacity: 1; opacity: 1;
border-radius: 10px;
margin: 9px 8px 8px 8px;
} }
#workspaces button.active { #workspaces button.active {
color: @mauve; color: @mauve;
border-radius: 20px;
/* background-color: @flamingo; */
} }
#workspaces button.active * { #workspaces button.active * {
@ -109,51 +93,25 @@ window#waybar {
#pulseaudio, #pulseaudio,
#mode, #mode,
#tray, #tray,
#custom-pacman,
#custom-playerctl, #custom-playerctl,
#mpd { #mpd {
padding: 6px 8px; padding: 7px 8px;
border-style: solid;
background-color: shade(@base, 0.70);
opacity: 1; opacity: 1;
margin: 9px 0px 8px 0px; margin: 2px 0px;
}
#mpd {
border-radius: 10px;
color: @mauve;
margin-left: 5px;
background-color: rgba(0, 0, 0, 0);
}
#custom-background {
border-radius: 0px 10px 10px 0px;
background-color: @base;
color: white;
padding: 5px 14px 5px 5px;
} }
#clock,
#custom-playerctl { #custom-playerctl {
color: @mauve; color: @mauve;
border-radius: 10px;
margin: 9px 8px 8px 0px;
}
#clock {
color: @mauve;
border-radius: 10px;
margin: 9px 10px 8px 10px;
} }
#backlight { #backlight {
color: @yellow; color: @yellow;
border-radius: 10px 0 0 10px;
} }
#battery { #battery {
color: @sky;
/* border-bottom: 2px solid #d8dee9; */
border-radius: 0 10px 10px 0;
margin-right: 10px; margin-right: 10px;
color: @sky;
} }
#battery.charging { #battery.charging {
@ -163,13 +121,11 @@ window#waybar {
@keyframes blink { @keyframes blink {
to { to {
color: @red; color: @red;
/* border-bottom: 2px solid @red; */
} }
} }
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
color: #bf616a; color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: linear; animation-timing-function: linear;
@ -177,56 +133,39 @@ window#waybar {
animation-direction: alternate; animation-direction: alternate;
} }
#cpu { #cpu,
color: @sky;
/* border-bottom: 2px solid @sky; */
}
#cpu #cpu-icon {
color: @sky;
}
#memory { #memory {
color: @sky; color: @sky;
} }
#network.disabled { #network.disabled {
color: #bf616a; color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
} }
#network { #network {
color: @green; color: @green;
/* border-bottom: 2px solid @green; */
border-radius: 10px;
margin-right: 8px; margin-right: 8px;
} }
#network.disconnected { #network.disconnected {
color: #bf616a; color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
} }
#pulseaudio { #pulseaudio {
color: @flamingo; color: @flamingo;
border-radius: 0 10px 10px 0;
margin-right: 10px; margin-right: 10px;
/* border-bottom: 2px solid @flamingo; */
} }
#pulseaudio.muted { #pulseaudio.muted {
color: #3b4252; color: #3b4252;
/* border-bottom: 2px solid #3b4252; */
} }
#temperature { #temperature {
color: @teal; color: @teal;
border-radius: 10px 0 0 10px;
} }
#temperature.critical { #temperature.critical {
color: @red; color: @red;
/* border-bottom: 2px solid @red; */
} }
#custom-pacman { #custom-pacman {
@ -238,16 +177,9 @@ window#waybar {
color: @base; color: @base;
} }
#tray {
/* background-color: @base; */
border-radius: 10px;
}
#window { #window {
border-style: hidden; border-style: hidden;
margin-left: 10px; margin-left: 10px;
/* margin-top:1px;
padding: 8px 1rem; */
margin-right: 10px; margin-right: 10px;
color: #eceff4; color: #eceff4;
} }
@ -255,81 +187,3 @@ window#waybar {
#mode { #mode {
margin-bottom: 4px; margin-bottom: 4px;
} }
/* window#waybar {
background: #2d2a2e;
}
* {
color: #c8b9a9;
font-family: Ubuntu Mono, sans-serif;
font-size: 12px;
}
#workspaces button.focused {
color: #f2e5bc;
}
#workspaces button {
color: #c8b9a9;
}
.separator {
background-color: #c8b9a9;
}
#mode {
color: #ebcb8b;
}
#clock {
color: #a3be8c;
}
#battery {
color: #d8dee9;
}
#battery.charging {
color: #b48ead;
}
#battery.critical:not(.charging) {
color: #bf616a;
}
#cpu {
color: #a3be8c;
}
#memory {
color: #d3869b;
}
#network {
color: #8fbcbb;
}
#network.disabled {
color: #bf616a;
}
#network.disconnected {
color: #bf616a;
}
#pulseaudio {
color: #b48ead;
}
#pulseaudio.muted {
color: #bf616a;
}
#temperature {
color: #8fbcbb;
}
#temperature.critical {
color: #bf616a;
} */

View file

@ -4,9 +4,9 @@
]; ];
home-manager.users.emily.programs.nixvim = { home-manager.users.emily.programs.nixvim = {
enable = true; enable = true;
extraPlugins = with pkgs; [ extraPlugins = [
vimPlugins.molokai pkgs.vimPlugins.molokai
vimPlugins.vim-airline-themes pkgs.vimPlugins.vim-airline-themes
]; ];
colorscheme = "molokai"; colorscheme = "molokai";
vimAlias = true; vimAlias = true;
@ -41,16 +41,16 @@
mode = "t"; mode = "t";
} }
]; ];
plugins.nvim-cmp = { plugins.cmp = {
enable = true; enable = true;
sources = [ settings.sources = [
{ name = "nvim_lsp"; } { name = "nvim_lsp"; }
{ name = "luasnip"; } { name = "luasnip"; }
{ name = "buffer"; } { name = "buffer"; }
{ name = "nvim_lua"; } { name = "nvim_lua"; }
{ name = "path"; } { name = "path"; }
]; ];
formatting = { settings.formatting = {
fields = [ "abbr" "kind" "menu" ]; fields = [ "abbr" "kind" "menu" ];
format = '' format = ''
function(_, item) function(_, item)
@ -103,8 +103,8 @@
end end
''; '';
}; };
snippet = { expand = "luasnip"; }; settings.snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
window = { settings.window = {
completion = { completion = {
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
scrollbar = false; scrollbar = false;
@ -116,7 +116,7 @@
winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel";
}; };
}; };
mapping = { settings.mapping = {
"<C-n>" = "cmp.mapping.select_next_item()"; "<C-n>" = "cmp.mapping.select_next_item()";
"<C-p>" = "cmp.mapping.select_prev_item()"; "<C-p>" = "cmp.mapping.select_prev_item()";
"<C-j>" = "cmp.mapping.select_next_item()"; "<C-j>" = "cmp.mapping.select_next_item()";
@ -126,34 +126,28 @@
"<C-Space>" = "cmp.mapping.complete()"; "<C-Space>" = "cmp.mapping.complete()";
"<C-e>" = "cmp.mapping.close()"; "<C-e>" = "cmp.mapping.close()";
"<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })"; "<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })";
"<Tab>" = { "<Tab>" = ''
modes = [ "i" "s" ]; cmp.mapping(function(fallback)
action = '' if cmp.visible() then
function(fallback) cmp.select_next_item()
if cmp.visible() then elseif require("luasnip").expand_or_jumpable() then
cmp.select_next_item() vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "")
elseif require("luasnip").expand_or_jumpable() then else
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "") fallback()
else
fallback()
end
end end
''; end,{"i","s"})
}; '';
"<S-Tab>" = { "<S-Tab>" = ''
modes = [ "i" "s" ]; cmp.mapping(function(fallback)
action = '' if cmp.visible() then
function(fallback) cmp.select_prev_item()
if cmp.visible() then elseif require("luasnip").jumpable(-1) then
cmp.select_prev_item() vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "")
elseif require("luasnip").jumpable(-1) then else
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "") fallback()
else
fallback()
end
end end
''; end,{"i","s"})
}; '';
}; };
}; };
plugins.lsp = { plugins.lsp = {
@ -178,19 +172,18 @@
}; };
}; };
ruff-lsp.enable = true; ruff-lsp.enable = true;
rust-analyzer.enable = true;
}; };
}; };
plugins.none-ls = { plugins.none-ls = {
enable = true; enable = true;
sources.diagnostics = { sources.diagnostics = {
pylint.enable = true; pylint.enable = true;
shellcheck.enable = true;
statix.enable = true; statix.enable = true;
}; };
sources.formatting = { sources.formatting = {
nixfmt.enable = true; nixfmt.enable = true;
markdownlint.enable = true; markdownlint.enable = true;
rustfmt.enable = true;
}; };
}; };
plugins.neo-tree = { plugins.neo-tree = {

View file

@ -4,8 +4,8 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
fernglas.url = "github:wobcom/fernglas"; fernglas.url = "github:wobcom/fernglas";
kyouma-www.url = "git+ssh://git@git.bsd.gay/snaki/kyouma-net.git"; flake-utils.url = "github:numtide/flake-utils";
secrix.url = "github:Platonic-Systems/secrix"; kyouma-www.url = "git+https://git.bsd.gay/snaki/kyouma-net.git";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
@ -21,23 +21,20 @@
}; };
}; };
outputs = { self, nixpkgs, secrix, ... }@inputs: { outputs = { self, nixpkgs, flake-utils, ... }@inputs: {
colmena = { colmena = let
hosts = [ "web-dus" "crime" "ryuuko" ];
hostCfg = hostname: {
imports = [ (./config/hosts/${hostname}/configuration.nix) ];
};
in {
meta = { meta = {
allowApplyAll = false; allowApplyAll = false;
nixpkgs = nixpkgs.legacyPackages.x86_64-linux; nixpkgs = nixpkgs.legacyPackages.x86_64-linux;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
}; };
web-dus = { } // (builtins.listToAttrs (builtins.map (hosts: nixpkgs.lib.attrsets.nameValuePair hosts (hostCfg hosts)) hosts));
imports = [ ./config/hosts/web-dus/configuration.nix ];
};
crime = {
imports = [ ./config/hosts/crime/configuration.nix ];
};
ryuuko = {
imports = [ ./config/hosts/ryuuko/configuration.nix ];
};
};
nixosConfigurations = { nixosConfigurations = {
ryuuko = nixpkgs.lib.nixosSystem { ryuuko = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -48,11 +45,20 @@
]; ];
}; };
}; };
apps.x86_64-linux.secrix = inputs.secrix.secrix self; } // flake-utils.lib.eachDefaultSystem (system: let
devShells.x86_64-linux.default = let pkgs = nixpkgs.legacyPackages.${system};
pkgs = nixpkgs.legacyPackages.x86_64-linux; in {
in pkgs.mkShell { # packages = rec {
# newhost = pkgs.stdenv.mkDerivation {
# name = "newhost";
# };
# };
# apps = rec {
# newhost = self.packages.${system}.newhost;
# default = newhost;
# };
devShells.default = pkgs.mkShell {
packages = [ pkgs.colmena ]; packages = [ pkgs.colmena ];
}; };
}; });
} }