feat: a lot

This commit is contained in:
Jacob Bachmann 2024-02-12 11:49:35 +01:00
parent d0c7269927
commit 7ff831ee1c
Signed by: bchmnn
GPG key ID: 732A612DAD28067D
13 changed files with 128 additions and 79 deletions

View file

@ -55,6 +55,7 @@
./dbus.nix
./fonts.nix
./greetd.nix
./gstreamer.nix
./i18n.nix
./kdeconnect.nix
./keyd.nix
@ -70,6 +71,7 @@
./packages.nix
./printing.nix
./security.nix
./services.nix
./shell.nix
./steam.nix
./udisks2.nix

8
modules/gstreamer.nix Normal file
View file

@ -0,0 +1,8 @@
{ lib, pkgs, ... }: {
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
]);
}

View file

@ -1,21 +1,21 @@
{ lib, pkgs, config, ... }: {
environment.systemPackages = with pkgs; with config.bchmnn; [
pciutils
usbutils
git
gnumake
mercurial # contains 'hg'
wget
neofetch
lsd
ripgrep
expect # contains 'unbuffer'
jq # parse json
unzip
libsecret
xidel # xml parser
nvd # nix diff package versions between two store paths
inotify-tools # set of command-line programs providing a simple interface to inotify
pciutils # A collection of programs for inspecting and manipulating configuration of PCI devices
usbutils # Tools for working with USB devices, such as lsusb
git # Distributed version control system
gnumake # A tool to control the generation of non-source files from sources
mercurial # A fast, lightweight SCM system for very large distributed projects
wget # Tool for retrieving files using HTTP, HTTPS, and FTP
neofetch # A fast, highly customizable system info script
lsd # The next gen ls command
ripgrep # A utility that combines the usability of The Silver Searcher with the raw speed of grep
expect # A tool for automating interactive applications
jq # A lightweight and flexible command-line JSON processor
unzip # An extraction utility for archives compressed in .zip format
libsecret # A library for storing and retrieving passwords and other secrets
xidel # Command line tool to download and extract data from HTML/XML pages as well as JSON APIs
nvd # Nix/NixOS package version diff tool
inotify-tools # a C library and a set of command-line programs providing a simple interface to inotify
] ++ lib.optionals (devenv.enable) [
# languages
gcc13
@ -32,10 +32,11 @@
bun-baseline
nodejs_21
nodenv
nodePackages.yarn
nodePackages.pnpm
] ++ lib.optionals (gui.enable) [
libnotify
glib # gsettings
xdg-utils # for opening default programs
libnotify # A library that sends desktop notifications to a notification daemon
xdg-utils # A set of command line tools that assist applications with a variety of desktop integration tasks
] ++ lib.optionals (gui.enable && lib.elem "sway" gui.flavour) [
qt5.qtwayland
qt6.qtwayland

View file

@ -1,8 +1,9 @@
{ config, lib, ... }: {
security.polkit.enable = true;
security.polkit.enable = true;
# rtkit is optional but recommended
security.rtkit.enable = true;
networking.firewall.enable = true;
} // (lib.mkIf (lib.elem "sway" config.bchmnn.gui.flavour) {
@ -10,4 +11,10 @@
# https://github.com/NixOS/nixpkgs/issues/158025
security.pam.services.swaylock = { };
}) // (lib.mkIf (config.bchmnn.devenv.enable) {
networking.firewall = {
allowedTCPPorts = [ 3000 ];
};
})

8
modules/services.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }: {
services.plex = {
enable = false;
openFirewall = false;
};
}

View file

@ -1,7 +1,13 @@
{ config, lib, pkgs, ... }: lib.mkIf config.bchmnn.virtualisation.enable {
# virt-manager
virtualisation.libvirtd.enable = true;
virtualisation = {
docker = {
enable = true;
storageDriver = "btrfs";
};
libvirtd.enable = true;
};
programs = {
dconf.enable = true;
virt-manager.enable = true;