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