diff --git a/config/common/users/emily/default.nix b/config/common/users/emily/default.nix index 1114729..83bf133 100644 --- a/config/common/users/emily/default.nix +++ b/config/common/users/emily/default.nix @@ -45,6 +45,7 @@ imagemagick_light #ubuntu_font_family + libsForQt5.breeze-icons (nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; }) jetbrains-mono font-awesome @@ -58,7 +59,6 @@ programs.eza = { enable = true; - enableAliases = true; icons = true; git = true; extraOptions = [ diff --git a/config/hosts/ryuuko/configuration.nix b/config/hosts/ryuuko/configuration.nix index ef64eda..48502d0 100644 --- a/config/hosts/ryuuko/configuration.nix +++ b/config/hosts/ryuuko/configuration.nix @@ -60,7 +60,7 @@ publish.enable = true; publish.userServices = true; }; - services.fprintd.enable = true; + services.fprintd.enable = lib.mkForce false; services.fstrim.enable = true; services.openssh.enable = true; services.pcscd.enable = true; diff --git a/config/profiles/graphical/default.nix b/config/profiles/graphical/default.nix index 6c8fe46..0cbc76e 100644 --- a/config/profiles/graphical/default.nix +++ b/config/profiles/graphical/default.nix @@ -32,6 +32,7 @@ MOZ_ENABLE_WAYLAND = "1"; CLUTTER_BACKEND = "wayland"; }; + xdg.icons.enable = true; xdg.portal = { enable = true; wlr.enable = true; @@ -145,6 +146,7 @@ passes = 2; }; }; + dwindle.no_gaps_when_only = 1; animations = { bezier = [ "wind, 0.05, 0.9, 0.1, 1.05" @@ -174,15 +176,15 @@ float_switch_override_focus = 2; touchpad = { natural_scroll = true; - scroll_factor = 0; tap-to-click = false; drag_lock = true; }; }; gestures = { workspace_swipe = true; - workspace_swipe_min_speed_to_force = 15; - workspace_swipe_cancel_ratio = 0.3; + workspace_swipe_distance = 3200; + workspace_swipe_min_speed_to_force = 40; + workspace_swipe_cancel_ratio = 0.15; workspace_swipe_forever = true; }; group = { @@ -198,28 +200,37 @@ }; misc = { disable_hyprland_logo = true; + disable_splash_rendering = true; vrr = 1; }; - "device:syna8013:00-06cb:ce69-touchpad" = { - sensitivity = 0.3; - }; - "device:logitech-m705" = { - sensitivity = 0.1; - accel_profile = "flat"; - }; - "device:tpps/2-ibm-trackpoint" = { - sensitivity = 0.2; - scroll_method = "on_button_down"; - accel_profile = "flat"; - }; - "device:tpps/2-elan-trackpoint" = { - sensitivity = 0; - scroll_method = "on_button_down"; - accel_profile = "flat"; - }; + device = [ + { + name = "syna8013:00-06cb:ce69-touchpad"; + sensitivity = 0.3; + } + { + name = "logitech-m705"; + sensitivity = 0.1; + accel_profile = "flat"; + } + { + name = "tpps/2-ibm-trackpoint"; + sensitivity = 0.2; + scroll_method = "on_button_down"; + accel_profile = "flat"; + } + { + name = "tpps/2-elan-trackpoint"; + sensitivity = 0; + scroll_method = "on_button_down"; + accel_profile = "flat"; + } + ]; + layerrule = [ "blur, waybar" ]; monitor = [ "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 M7LMTF021525, 1920x1080@60, 1600x-1080, 1" ",preferred,auto,1" @@ -254,8 +265,8 @@ "$mod, F2, exec, ${firefox}" # Rofi - "$mod, D, exec, ${rofi} -show drun -theme $XDG_CONFIG_HONE/rofi/launcher.rasi" - "$mod, R, exec, ${rofi} -show run -theme $XDG_CONFIG_HOME/rofi/runner.rasi" + "$mod, D, exec, ${rofi} -show drun -theme ~/.config/rofi/launcher.rasi" + "$mod, R, exec, ${rofi} -show run -theme ~/.config/rofi/runner.rasi" "$mod, X, exec, ~/.local/bin/hypr/rofi_powermenu.sh" "$mod, A, exec, ~/.local/bin/hypr/rofi_screenshot.sh" @@ -528,7 +539,7 @@ }; programs.kitty = { enable = true; - font.size = 11; + font.size = 13; font.name = "JetBrains Mono"; settings = { enable_audio_bell = false; @@ -555,6 +566,12 @@ enable = true; package = pkgs.rofi-wayland; }; + + programs.zoxide = { + enable = true; + options = [ "--cmd cd" ]; + }; + programs.fzf.enable = true; qt = { enable = true; @@ -562,10 +579,12 @@ style.name = "kvantum-dark"; style.package = with pkgs; [ libsForQt5.qtstyleplugin-kvantum - qt6Packagee.qtstyleplugin-kvantum + qt6Packages.qtstyleplugin-kvantum (catppuccin-kvantum.override { accent = "Mauve"; variant = "Macchiato"; }) ]; }; + gtk.iconTheme.name = "Adwaita"; + gtk.iconTheme.package = pkgs.gnome.adwaita-icon-theme; services.gammastep = { enable = true; @@ -625,8 +644,8 @@ enable = true; systemdTarget = "hyprland-session.target"; events = [ - { event = "before-sleep"; command = "${swaylock} -f -i ${config.home-manager.users.emily.xdg.userDirs.pictures}/wallpapers/lockscreen.png"; } - { event = "lock"; 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 $XDG_PICTURES_DIR/wallpapers/lockscreen.png"; } ]; }; @@ -671,7 +690,7 @@ enable = true; desktop = null; documents = "${home}/docs"; - downloads = "${home}/Downloads"; + download = "${home}/Downloads"; music = "${home}/music"; pictures = "${home}/Pictures"; publicShare = null; diff --git a/config/profiles/graphical/files/waybar-style.css b/config/profiles/graphical/files/waybar-style.css index 70c4b5c..56784b0 100644 --- a/config/profiles/graphical/files/waybar-style.css +++ b/config/profiles/graphical/files/waybar-style.css @@ -41,20 +41,11 @@ } window#waybar { - /* border-bottom: 4px solid shade(@base, 1.1); */ - /* 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; + background-color: rgba(9, 3, 18, 0.70); } #workspaces button { color: @base; - border-radius: 50%; - /* background-color: @base; */ margin: 0px 8px 0px 8px; padding: 2px 6px 2px 0px; } @@ -65,7 +56,6 @@ window#waybar { #workspaces button:hover { color: @mauve; - /* border-radius: 20px; */ box-shadow: none; /* Remove predefined box-shadow */ text-shadow: none; /* Remove predefined text-shadow */ border: 0px; @@ -77,17 +67,11 @@ window#waybar { } #workspaces { - border-style: solid; - background-color: shade(@base, 0.7); opacity: 1; - border-radius: 10px; - margin: 9px 8px 8px 8px; } #workspaces button.active { color: @mauve; - border-radius: 20px; - /* background-color: @flamingo; */ } #workspaces button.active * { @@ -109,51 +93,25 @@ window#waybar { #pulseaudio, #mode, #tray, -#custom-pacman, #custom-playerctl, #mpd { - padding: 6px 8px; - border-style: solid; - background-color: shade(@base, 0.70); + padding: 7px 8px; opacity: 1; - margin: 9px 0px 8px 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; + margin: 2px 0px; } +#clock, #custom-playerctl { color: @mauve; - border-radius: 10px; - margin: 9px 8px 8px 0px; -} -#clock { - color: @mauve; - border-radius: 10px; - margin: 9px 10px 8px 10px; } #backlight { color: @yellow; - border-radius: 10px 0 0 10px; } #battery { - color: @sky; - /* border-bottom: 2px solid #d8dee9; */ - border-radius: 0 10px 10px 0; margin-right: 10px; + color: @sky; } #battery.charging { @@ -163,13 +121,11 @@ window#waybar { @keyframes blink { to { color: @red; - /* border-bottom: 2px solid @red; */ } } #battery.critical:not(.charging) { color: #bf616a; - /* border-bottom: 2px solid #bf616a; */ animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; @@ -177,56 +133,39 @@ window#waybar { animation-direction: alternate; } -#cpu { - color: @sky; - /* border-bottom: 2px solid @sky; */ -} - -#cpu #cpu-icon { - color: @sky; -} - +#cpu, #memory { color: @sky; } #network.disabled { color: #bf616a; - /* border-bottom: 2px solid #bf616a; */ } #network { color: @green; - /* border-bottom: 2px solid @green; */ - border-radius: 10px; margin-right: 8px; } #network.disconnected { color: #bf616a; - /* border-bottom: 2px solid #bf616a; */ } #pulseaudio { color: @flamingo; - border-radius: 0 10px 10px 0; margin-right: 10px; - /* border-bottom: 2px solid @flamingo; */ } #pulseaudio.muted { color: #3b4252; - /* border-bottom: 2px solid #3b4252; */ } #temperature { color: @teal; - border-radius: 10px 0 0 10px; } #temperature.critical { color: @red; - /* border-bottom: 2px solid @red; */ } #custom-pacman { @@ -238,16 +177,9 @@ window#waybar { color: @base; } -#tray { - /* background-color: @base; */ - border-radius: 10px; -} - #window { border-style: hidden; margin-left: 10px; - /* margin-top:1px; - padding: 8px 1rem; */ margin-right: 10px; color: #eceff4; } @@ -255,81 +187,3 @@ window#waybar { #mode { 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; - } */ diff --git a/config/profiles/graphical/nixvim.nix b/config/profiles/graphical/nixvim.nix index 82bcc53..7978d7b 100644 --- a/config/profiles/graphical/nixvim.nix +++ b/config/profiles/graphical/nixvim.nix @@ -4,9 +4,9 @@ ]; home-manager.users.emily.programs.nixvim = { enable = true; - extraPlugins = with pkgs; [ - vimPlugins.molokai - vimPlugins.vim-airline-themes + extraPlugins = [ + pkgs.vimPlugins.molokai + pkgs.vimPlugins.vim-airline-themes ]; colorscheme = "molokai"; vimAlias = true; @@ -41,16 +41,16 @@ mode = "t"; } ]; - plugins.nvim-cmp = { + plugins.cmp = { enable = true; - sources = [ + settings.sources = [ { name = "nvim_lsp"; } { name = "luasnip"; } { name = "buffer"; } { name = "nvim_lua"; } { name = "path"; } ]; - formatting = { + settings.formatting = { fields = [ "abbr" "kind" "menu" ]; format = '' function(_, item) @@ -103,8 +103,8 @@ end ''; }; - snippet = { expand = "luasnip"; }; - window = { + settings.snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + settings.window = { completion = { winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; scrollbar = false; @@ -116,7 +116,7 @@ winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; }; }; - mapping = { + settings.mapping = { "" = "cmp.mapping.select_next_item()"; "" = "cmp.mapping.select_prev_item()"; "" = "cmp.mapping.select_next_item()"; @@ -126,34 +126,28 @@ "" = "cmp.mapping.complete()"; "" = "cmp.mapping.close()"; "" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })"; - "" = { - modes = [ "i" "s" ]; - action = '' - function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif require("luasnip").expand_or_jumpable() then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-expand-or-jump", true, true, true), "") - else - fallback() - end + "" = '' + cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif require("luasnip").expand_or_jumpable() then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-expand-or-jump", true, true, true), "") + else + fallback() end - ''; - }; - "" = { - modes = [ "i" "s" ]; - action = '' - function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif require("luasnip").jumpable(-1) then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-jump-prev", true, true, true), "") - else - fallback() - end + end,{"i","s"}) + ''; + "" = '' + cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif require("luasnip").jumpable(-1) then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-jump-prev", true, true, true), "") + else + fallback() end - ''; - }; + end,{"i","s"}) + ''; }; }; plugins.lsp = { @@ -178,19 +172,18 @@ }; }; ruff-lsp.enable = true; + rust-analyzer.enable = true; }; }; plugins.none-ls = { enable = true; sources.diagnostics = { pylint.enable = true; - shellcheck.enable = true; statix.enable = true; }; sources.formatting = { nixfmt.enable = true; markdownlint.enable = true; - rustfmt.enable = true; }; }; plugins.neo-tree = { diff --git a/flake.nix b/flake.nix index be3ffa4..0824fd3 100644 --- a/flake.nix +++ b/flake.nix @@ -4,8 +4,8 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:nixos/nixos-hardware"; fernglas.url = "github:wobcom/fernglas"; - kyouma-www.url = "git+ssh://git@git.bsd.gay/snaki/kyouma-net.git"; - secrix.url = "github:Platonic-Systems/secrix"; + flake-utils.url = "github:numtide/flake-utils"; + kyouma-www.url = "git+https://git.bsd.gay/snaki/kyouma-net.git"; stylix.url = "github:danth/stylix"; disko = { url = "github:nix-community/disko"; @@ -21,23 +21,20 @@ }; }; - outputs = { self, nixpkgs, secrix, ... }@inputs: { - colmena = { + outputs = { self, nixpkgs, flake-utils, ... }@inputs: { + colmena = let + hosts = [ "web-dus" "crime" "ryuuko" ]; + hostCfg = hostname: { + imports = [ (./config/hosts/${hostname}/configuration.nix) ]; + }; + in { meta = { allowApplyAll = false; nixpkgs = nixpkgs.legacyPackages.x86_64-linux; specialArgs = { inherit inputs; }; }; - web-dus = { - imports = [ ./config/hosts/web-dus/configuration.nix ]; - }; - crime = { - imports = [ ./config/hosts/crime/configuration.nix ]; - }; - ryuuko = { - imports = [ ./config/hosts/ryuuko/configuration.nix ]; - }; - }; + } // (builtins.listToAttrs (builtins.map (hosts: nixpkgs.lib.attrsets.nameValuePair hosts (hostCfg hosts)) hosts)); + nixosConfigurations = { ryuuko = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -48,11 +45,20 @@ ]; }; }; - apps.x86_64-linux.secrix = inputs.secrix.secrix self; - devShells.x86_64-linux.default = let - pkgs = nixpkgs.legacyPackages.x86_64-linux; - in pkgs.mkShell { + } // flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { +# packages = rec { +# newhost = pkgs.stdenv.mkDerivation { +# name = "newhost"; +# }; +# }; +# apps = rec { +# newhost = self.packages.${system}.newhost; +# default = newhost; +# }; + devShells.default = pkgs.mkShell { packages = [ pkgs.colmena ]; }; - }; + }); }