Compare commits
No commits in common. "ea59147fcd1e25a3845d10065f592a7a7399d49b" and "b0c16a0c4172b1848287263549935ad1ab53d9e7" have entirely different histories.
ea59147fcd
...
b0c16a0c41
|
@ -75,9 +75,11 @@ with lib; {
|
||||||
git.signing = true;
|
git.signing = true;
|
||||||
gpg.enable = true;
|
gpg.enable = true;
|
||||||
hub.enable = true;
|
hub.enable = true;
|
||||||
|
kitty.enable = true;
|
||||||
ledger.enable = true;
|
ledger.enable = true;
|
||||||
logseq.enable = true;
|
logseq.enable = true;
|
||||||
python.versions."311".enable = true;
|
python.enable = true;
|
||||||
|
rofi.enable = true;
|
||||||
ssh = {
|
ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
includeSecrets = [ ../../secrets/ssh-home.age ];
|
includeSecrets = [ ../../secrets/ssh-home.age ];
|
||||||
|
|
|
@ -18,12 +18,10 @@
|
||||||
./gpg.nix
|
./gpg.nix
|
||||||
./helix.nix
|
./helix.nix
|
||||||
./hub.nix
|
./hub.nix
|
||||||
./hyprland
|
|
||||||
./kakoune.nix
|
./kakoune.nix
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
./ledger
|
./ledger
|
||||||
./logseq.nix
|
./logseq.nix
|
||||||
./miracast.nix
|
|
||||||
./python.nix
|
./python.nix
|
||||||
./rofi
|
./rofi
|
||||||
./spotify.nix
|
./spotify.nix
|
||||||
|
@ -34,5 +32,6 @@
|
||||||
./xmonad
|
./xmonad
|
||||||
./zathura.nix
|
./zathura.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
./hyprland
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,8 +141,6 @@ in
|
||||||
# Fullscreen Applications
|
# Fullscreen Applications
|
||||||
# ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
# ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
||||||
|
|
||||||
${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]}
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
$windowMod = ALT
|
$windowMod = ALT
|
||||||
|
|
|
@ -28,13 +28,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
my = {
|
|
||||||
programs = {
|
|
||||||
kitty.enable = true;
|
|
||||||
rofi.enable = true;
|
|
||||||
};
|
|
||||||
services.dunst.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# enable nix module
|
# enable nix module
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
|
@ -42,7 +35,6 @@ in
|
||||||
package = null; # because we use the home-manager module
|
package = null; # because we use the home-manager module
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# enable home-manager module
|
# enable home-manager module
|
||||||
home-manager.users.moritz = {
|
home-manager.users.moritz = {
|
||||||
# import home-manager module
|
# import home-manager module
|
||||||
|
@ -177,6 +169,7 @@ in
|
||||||
} // (optionalAttrs cfg.nvidiaSupport
|
} // (optionalAttrs cfg.nvidiaSupport
|
||||||
{
|
{
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
GBM_BACKEND = "nvidia-drm";
|
GBM_BACKEND = "nvidia-drm";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
WLR_NO_HARDWARE_CURSORS = "1";
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{ config
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.my.programs.miracast;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.my.programs.miracast.enable = mkEnableOption "miracast";
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [ 7236 7250 ];
|
|
||||||
allowedUDPPorts = [ 7236 5353 ];
|
|
||||||
};
|
|
||||||
users.users.moritz.packages = with pkgs; [
|
|
||||||
gnome-network-displays
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -8,55 +8,40 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.my.programs.python;
|
cfg = config.my.programs.python;
|
||||||
|
|
||||||
pythonVersions = map (version: "3${toString version}") (range 8 11);
|
mkPython = packages: version: pkgs.${version}.withPackages (ps: map (flip getAttr ps) packages);
|
||||||
enabledVersions = filterAttrs (name: value: value.enable) cfg.versions;
|
|
||||||
|
|
||||||
pythonPackages = version: attrNames pkgs."python${version}Packages";
|
pythonVersions = [
|
||||||
|
"python311"
|
||||||
|
"python310"
|
||||||
|
"python39"
|
||||||
|
"python38"
|
||||||
|
];
|
||||||
|
|
||||||
commonPackages =
|
packageLists = map (version: attrNames pkgs."${version}Packages") cfg.versions;
|
||||||
let
|
|
||||||
packageLists = map pythonPackages (attrNames enabledVersions);
|
|
||||||
in
|
|
||||||
foldl' intersectLists (head packageLists) (tail packageLists);
|
|
||||||
|
|
||||||
versionOpts = version: {
|
commonPackages = foldl' intersectLists (head packageLists) (tail packageLists);
|
||||||
enable = mkEnableOption (toString version);
|
|
||||||
pythonPackages = mkOption {
|
|
||||||
default = [ ];
|
|
||||||
type = with types; listOf (enum (pythonPackages version));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.programs.python = {
|
options.my.programs.python = {
|
||||||
versions = genAttrs pythonVersions versionOpts;
|
enable = mkEnableOption "python";
|
||||||
defaultPackages = mkOption {
|
versions = mkOption {
|
||||||
default = [ ];
|
default = [ "python310" ];
|
||||||
type = with types; listOf (enum commonPackages);
|
type = with types; nonEmptyListOf (enum pythonVersions);
|
||||||
|
example = [ "python39" ];
|
||||||
};
|
};
|
||||||
extraPackages = mkOption {
|
packages = mkOption {
|
||||||
default = with pkgs; [
|
default = [
|
||||||
poetry
|
"flake8"
|
||||||
ruff
|
"isort"
|
||||||
python310Packages.python-lsp-server
|
"mypy"
|
||||||
|
"pytest"
|
||||||
];
|
];
|
||||||
type = with types; listOf package;
|
type = with types; listOf (enum commonPackages);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable {
|
||||||
users.users.moritz.packages =
|
users.users.moritz.packages = map (mkPython cfg.packages) cfg.versions
|
||||||
(
|
++ [ pkgs.poetry pkgs.nodePackages.pyright ];
|
||||||
let
|
|
||||||
mkPython = version:
|
|
||||||
let
|
|
||||||
package = pkgs."python${version}";
|
|
||||||
finalPythonPackages = cfg.versions.${version}.pythonPackages ++ cfg.defaultPackages;
|
|
||||||
getPythonPackages = ps: map (flip getAttr ps) finalPythonPackages;
|
|
||||||
in
|
|
||||||
package.withPackages getPythonPackages;
|
|
||||||
in
|
|
||||||
map mkPython (attrNames enabledVersions)
|
|
||||||
) ++ cfg.extraPackages;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,6 @@ in
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dockerCompat = true;
|
dockerCompat = true;
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue