summaryrefslogtreecommitdiff
path: root/modules/nixos
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-11-23 04:20:34 +0300
committerAzat Bahawi <azat@bahawi.net>2023-11-23 04:20:34 +0300
commit67b82386d8ad8ae3eea5083bd22809f6192d92a8 (patch)
tree41829a0b3e05a9dbb4b0189e34a7b53e401f489e /modules/nixos
parentedf7cc355cb1f55a9301283ebec15e01dc4ffe62 (diff)
2023-11-23
Diffstat (limited to 'modules/nixos')
-rw-r--r--modules/nixos/common/nix.nix6
-rw-r--r--modules/nixos/docker.nix9
-rw-r--r--modules/nixos/mpv.nix160
-rw-r--r--modules/nixos/podman.nix54
4 files changed, 111 insertions, 118 deletions
diff --git a/modules/nixos/common/nix.nix b/modules/nixos/common/nix.nix
index 0caf265..e21cc5c 100644
--- a/modules/nixos/common/nix.nix
+++ b/modules/nixos/common/nix.nix
@@ -2,6 +2,7 @@
config,
inputs,
lib,
+ this,
...
}:
with lib; let
@@ -14,7 +15,10 @@ in {
};
config = {
- nix.settings.trusted-users = ["@wheel"];
+ nix = mkIf this.isHeadless {
+ daemonCPUSchedPolicy = "idle";
+ daemonIOSchedClass = "idle";
+ };
nixpkgs.config.allowUnfreePredicate = p: elem (getName p) cfg.allowedUnfreePackages;
diff --git a/modules/nixos/docker.nix b/modules/nixos/docker.nix
index 31c0dda..3b38ff1 100644
--- a/modules/nixos/docker.nix
+++ b/modules/nixos/docker.nix
@@ -18,6 +18,8 @@ in {
}
];
+ nixfiles.modules.common.shell.aliases.d = "docker";
+
secrets.containers-auth = {
file = "${inputs.self}/secrets/containers-auth";
path = "${config.my.home}/.docker/config.json";
@@ -30,12 +32,5 @@ in {
environment.systemPackages = with pkgs; [docker-compose];
my.extraGroups = ["docker"];
-
- hm.programs.bash = {
- shellAliases.d = "docker";
- initExtra = mkAfter ''
- _complete_alias d _docker docker
- '';
- };
};
}
diff --git a/modules/nixos/mpv.nix b/modules/nixos/mpv.nix
index efe1729..a2b73fa 100644
--- a/modules/nixos/mpv.nix
+++ b/modules/nixos/mpv.nix
@@ -7,83 +7,87 @@ with lib; let
cfg = config.nixfiles.modules.mpv;
in {
config = mkIf cfg.enable {
- nixfiles.modules.common.xdg.defaultApplications.mpv = let
- audio = [
- "audio/aac"
- "audio/ac3"
- "audio/basic"
- "audio/flac"
- "audio/midi"
- "audio/mp4"
- "audio/mpeg"
- "audio/ogg"
- "audio/opus"
- "audio/vnd.dts"
- "audio/vnd.dts.hd"
- "audio/webm"
- "audio/x-adpcm"
- "audio/x-aifc"
- "audio/x-aiff"
- "audio/x-ape"
- "audio/x-flac+ogg"
- "audio/x-m4b"
- "audio/x-m4r"
- "audio/x-matroska"
- "audio/x-mpegurl"
- "audio/x-musepack"
- "audio/x-opus+ogg"
- "audio/x-speex"
- "audio/x-speex+ogg"
- "audio/x-vorbis+ogg"
- "audio/x-wav"
- "audio/x-wavpack"
- "x-content/audio-cdda"
- "x-content/audio-dvd"
- ];
- video = [
- "video/3gpp"
- "video/3gpp2"
- "video/mkv"
- "video/mp2t"
- "video/mp4"
- "video/mpeg"
- "video/ogg"
- "video/quicktime"
- "video/vnd.mpegurl"
- "video/vnd.radgamettools.bink"
- "video/vnd.radgamettools.smacker"
- "video/wavelet"
- "video/webm"
- "video/x-matroska"
- "video/x-matroska-3d"
- "video/x-mjpeg"
- "video/x-msvideo"
- "video/x-ogm+ogg"
- "video/x-theora+ogg"
- "x-content/video-bluray"
- "x-content/video-dvd"
- "x-content/video-hddvd"
- "x-content/video-svcd"
- "x-content/video-vcd"
- ];
- image = [
- "image/avif"
- "image/bmp"
- "image/gif"
- "image/jp2"
- "image/jpeg"
- "image/jpg"
- "image/jpm"
- "image/jpx"
- "image/jxl"
- "image/png"
- "image/tiff"
- "image/vnd.microsoft.icon"
- "image/webp"
- "image/webp"
- "image/x-tga"
- ];
- in
- audio ++ video ++ image;
+ nixfiles.modules.common = {
+ shell.aliases.cam = "mpv av://v4l2:/dev/video0";
+
+ xdg.defaultApplications.mpv = let
+ audio = [
+ "audio/aac"
+ "audio/ac3"
+ "audio/basic"
+ "audio/flac"
+ "audio/midi"
+ "audio/mp4"
+ "audio/mpeg"
+ "audio/ogg"
+ "audio/opus"
+ "audio/vnd.dts"
+ "audio/vnd.dts.hd"
+ "audio/webm"
+ "audio/x-adpcm"
+ "audio/x-aifc"
+ "audio/x-aiff"
+ "audio/x-ape"
+ "audio/x-flac+ogg"
+ "audio/x-m4b"
+ "audio/x-m4r"
+ "audio/x-matroska"
+ "audio/x-mpegurl"
+ "audio/x-musepack"
+ "audio/x-opus+ogg"
+ "audio/x-speex"
+ "audio/x-speex+ogg"
+ "audio/x-vorbis+ogg"
+ "audio/x-wav"
+ "audio/x-wavpack"
+ "x-content/audio-cdda"
+ "x-content/audio-dvd"
+ ];
+ video = [
+ "video/3gpp"
+ "video/3gpp2"
+ "video/mkv"
+ "video/mp2t"
+ "video/mp4"
+ "video/mpeg"
+ "video/ogg"
+ "video/quicktime"
+ "video/vnd.mpegurl"
+ "video/vnd.radgamettools.bink"
+ "video/vnd.radgamettools.smacker"
+ "video/wavelet"
+ "video/webm"
+ "video/x-matroska"
+ "video/x-matroska-3d"
+ "video/x-mjpeg"
+ "video/x-msvideo"
+ "video/x-ogm+ogg"
+ "video/x-theora+ogg"
+ "x-content/video-bluray"
+ "x-content/video-dvd"
+ "x-content/video-hddvd"
+ "x-content/video-svcd"
+ "x-content/video-vcd"
+ ];
+ image = [
+ "image/avif"
+ "image/bmp"
+ "image/gif"
+ "image/jp2"
+ "image/jpeg"
+ "image/jpg"
+ "image/jpm"
+ "image/jpx"
+ "image/jxl"
+ "image/png"
+ "image/tiff"
+ "image/vnd.microsoft.icon"
+ "image/webp"
+ "image/webp"
+ "image/x-tga"
+ ];
+ in
+ audio ++ video ++ image;
+ };
};
}
diff --git a/modules/nixos/podman.nix b/modules/nixos/podman.nix
index 0f6db48..f6ee6bf 100644
--- a/modules/nixos/podman.nix
+++ b/modules/nixos/podman.nix
@@ -18,6 +18,8 @@ in {
}
];
+ nixfiles.modules.common.shell.aliases.p = "podman";
+
secrets.containers-auth = {
file = "${inputs.self}/secrets/containers-auth";
path = "${config.dirs.config}/containers/auth.json";
@@ -31,38 +33,26 @@ in {
my.extraGroups = ["podman"];
- hm = {
- xdg.configFile = {
- # This removes a really annoying registry search. 100% of the time I
- # would need to look up stuff from the Docker and not Quay!
- "containers/registries.conf".text = ''
- [registries.search]
- registries = ["docker.io"]
- '';
-
- # As for plain OverlayFS in Podman over ZFS[1]... I guess we are waiting
- # for Podman to catch up now.
- #
- # [1]: https://github.com/openzfs/zfs/pull/14070#issuecomment-1309116666
- "containers/storage.conf".text = optionalString config.boot.zfs.enabled ''
- [storage]
- driver = "overlay"
-
- [storage.options]
- mount_program = "${getExe' pkgs.fuse-overlayfs "fuse-overlayfs"}"
- mountopt = "noatime,nodev,nosuid"
- '';
- };
-
- programs.bash = {
- shellAliases = {
- podman = "grc -es ${getExe' pkgs.podman "podman"}";
- p = "podman";
- };
- initExtra = mkAfter ''
- _complete_alias p __start_podman podman
- '';
- };
+ hm.xdg.configFile = {
+ # This removes a really annoying registry search. 100% of the time I
+ # would need to look up stuff from the Docker and not Quay!
+ "containers/registries.conf".text = ''
+ [registries.search]
+ registries = ["docker.io"]
+ '';
+
+ # As for plain OverlayFS in Podman over ZFS[1]... I guess we are waiting
+ # for Podman to catch up now.
+ #
+ # [1]: https://github.com/openzfs/zfs/pull/14070#issuecomment-1309116666
+ "containers/storage.conf".text = optionalString config.boot.zfs.enabled ''
+ [storage]
+ driver = "overlay"
+
+ [storage.options]
+ mount_program = "${getExe' pkgs.fuse-overlayfs "fuse-overlayfs"}"
+ mountopt = "noatime,nodev,nosuid"
+ '';
};
};
}