Merge remote-tracking branch 'refs/remotes/origin/nixos' into nixos
This commit is contained in:
commit
5c666feefb
8 changed files with 74 additions and 16 deletions
|
@ -20,8 +20,10 @@
|
|||
webis.enable = true;
|
||||
impermanence.enable = true;
|
||||
};
|
||||
programs.hyprland.enable = true;
|
||||
programs.gitbutler.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
monitors.DP-3.scale = "auto";
|
||||
};
|
||||
programs.exercism.enable = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ in
|
|||
enable = true;
|
||||
shellAbbrs = shellConfig.abbreviations;
|
||||
shellAliases = shellConfig.aliases;
|
||||
shellInit = ''
|
||||
shellInit = /* fish */ ''
|
||||
# Vi Mode
|
||||
fish_vi_key_bindings
|
||||
|
||||
|
@ -62,7 +62,7 @@ in
|
|||
end
|
||||
abbr --add dotdot --regex '^\.\.+$' --function multicd
|
||||
|
||||
abbr -a P --position anywhere --set-cursor "% | $PAGER"
|
||||
abbr -a .P --position anywhere --set-cursor "% | $PAGER"
|
||||
|
||||
function editor_edit
|
||||
echo $EDITOR $argv
|
||||
|
|
|
@ -29,18 +29,24 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
my.shell.abbreviations = {
|
||||
g = "git";
|
||||
gC = "git clone";
|
||||
gF = "git pull";
|
||||
gS = "git switch";
|
||||
ga = "git add";
|
||||
gap = "git add --patch";
|
||||
gr = "git restore";
|
||||
grp = "git restore --patch";
|
||||
gb = "git branch";
|
||||
gc = "git commit";
|
||||
gco = "git checkout";
|
||||
gd = "git diff";
|
||||
gds = "git diff --staged";
|
||||
gp = "git push";
|
||||
gf = "git fetch";
|
||||
gF = "git pull";
|
||||
gp = "git push";
|
||||
gr = "git restore";
|
||||
grm = "git rm --cached";
|
||||
grp = "git restore --patch";
|
||||
grps = "git restore --patch --staged";
|
||||
grs = "git restore --staged";
|
||||
gs = "git status";
|
||||
};
|
||||
home-manager.users.moritz = {
|
||||
|
|
|
@ -3,10 +3,18 @@
|
|||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
inherit (lib) concatStringsSep flip boolToString mapAttrsToList;
|
||||
cfg = config.my.programs.hyprland;
|
||||
|
||||
mkMonitor = { name, resolution, position, scale, disabled, extra }:
|
||||
if disabled
|
||||
then "monitor=${name},disabled"
|
||||
else "monitor=${name},${resolution},${position},${scale},${extra}";
|
||||
|
||||
monitorsList = mapAttrsToList (name: value: { name = name; } // value) cfg.monitors;
|
||||
monitors = map mkMonitor monitorsList;
|
||||
|
||||
mkRule = rule: windowRegexes: "windowrulev2 = ${rule},${concatStringsSep "," windowRegexes}";
|
||||
mkRules = rules: windowRegexes: concatStringsSep "\n" (map (flip mkRule windowRegexes) rules);
|
||||
in
|
||||
|
@ -17,7 +25,7 @@ in
|
|||
#
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
${concatLines (map (x: "monitor=${x}") cfg.monitors)}
|
||||
${concatStringsSep "\n" monitors}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
|
@ -226,7 +234,7 @@ in
|
|||
|
||||
# Lid open/close
|
||||
bindl=,switch:on:Lid Switch,exec,monitors="$(hyprctl monitors | grep -c '^Monitor')" && hyprctl keyword monitor "eDP-1, disable" && [ "$monitors" = 1 ] && loginctl lock-session
|
||||
bindl=,switch:off:Lid Switch,exec, hyprctl keyword monitor "eDP-1, prefered, auto"
|
||||
bindl=,switch:off:Lid Switch,exec, hyprctl keyword monitor "eDP-1, preferred, auto"
|
||||
|
||||
# Extra Config
|
||||
${cfg.extraConfig}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
, ...
|
||||
} @ args:
|
||||
|
||||
with lib;
|
||||
let
|
||||
inherit (lib) mkOption mkEnableOption mkIf types getExe genAttrs optionalAttrs optional;
|
||||
cfg = config.my.programs.hyprland;
|
||||
|
||||
hyprland = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
|
@ -31,9 +31,38 @@ in
|
|||
default = [ "de" "us" ];
|
||||
};
|
||||
monitors = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = "monitor settings";
|
||||
default = [ ",preferred,auto,1" ];
|
||||
type = types.attrsOf (
|
||||
let
|
||||
sub = types.submodule {
|
||||
options = {
|
||||
resolution = mkOption {
|
||||
type = types.strMatching "\(preferred\)|\([[:digit:]]+x[[:digit:]]+\(@[[:digit:]]+\)\?\)";
|
||||
default = "preferred";
|
||||
};
|
||||
position = mkOption {
|
||||
type = types.strMatching "\(auto\)|\(-\?[[:digit:]]+x-?[[:digit:]]+\)";
|
||||
default = "auto";
|
||||
};
|
||||
disabled = mkEnableOption "disabled";
|
||||
scale = mkOption {
|
||||
type = types.oneOf [ types.float (types.strMatching "auto") ];
|
||||
default = 1.0;
|
||||
apply = x: if lib.isFloat x then lib.strings.floatToString x else x;
|
||||
};
|
||||
extra = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
apply = lib.concatStringsSep ",";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
sub
|
||||
);
|
||||
description = "monitor setting";
|
||||
default = {
|
||||
"" = { };
|
||||
};
|
||||
};
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
|
@ -51,6 +80,7 @@ in
|
|||
# foot.enable = true;
|
||||
kitty.enable = true;
|
||||
rofi.enable = true;
|
||||
hyprland.monitors."" = lib.mkDefault { };
|
||||
};
|
||||
wallpapers.enable = true;
|
||||
services = {
|
||||
|
|
|
@ -73,6 +73,7 @@ in
|
|||
stable.flake = inputs.stable;
|
||||
dotfiles.flake = self;
|
||||
default.flake = self;
|
||||
d.flake = self;
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
|
|
@ -127,7 +127,6 @@ local servers = {
|
|||
"bashls",
|
||||
"gleam",
|
||||
"gopls",
|
||||
"nil_ls",
|
||||
"pylsp",
|
||||
"ruff",
|
||||
"templ",
|
||||
|
@ -141,6 +140,16 @@ lspconfig_setup("elixirls", {
|
|||
cmd = { "elixir-ls" },
|
||||
})
|
||||
|
||||
lspconfig_setup("nil_ls", {
|
||||
settings = {
|
||||
flake = {
|
||||
autoArchive = true,
|
||||
autoEvalInputs = true,
|
||||
nixpkgsInputName = "nixpkgs",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
lspconfig_setup("nixd", {
|
||||
settings = {
|
||||
nixd = {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}: {
|
||||
## System security tweaks
|
||||
|
@ -69,6 +70,7 @@
|
|||
|
||||
# SSH
|
||||
services.openssh = {
|
||||
package = pkgs.master.openssh; # HACK: to fix CVE-2024-6387
|
||||
settings = {
|
||||
# Disable ssh password login
|
||||
PasswordAuthentication = lib.mkDefault false;
|
||||
|
|
Loading…
Reference in a new issue