diff --git a/.editorconfig b/.editorconfig new file mode 120000 index 0000000..a5fb6b3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1 @@ +nixpkgs/.editorconfig \ No newline at end of file diff --git a/configuration.nix b/configuration.nix index 6e35141..2d42990 100644 --- a/configuration.nix +++ b/configuration.nix @@ -48,7 +48,11 @@ in { nix = { gc.automatic = true; gc.dates = "03:15"; - nixPath = [ "/etc/nixos" "nixos-config=/etc/nixos/configuration.nix" ]; + nixPath = [ + "/etc/nixos" + "nixos-config=/etc/nixos/configuration.nix" + "nixpkgs-overlays=/etc/nixos/overlays" + ]; package = pkgs.nixUnstable; extraOptions = '' gc-keep-outputs = true @@ -125,12 +129,7 @@ in { journald.extraConfig = "SystemMaxUse=1G"; }; - #systemd.package = pkgs.systemd.overrideDerivation(old: { - # src = builtins.fetchgit { - # url = /home/joerg/git/systemd; - # rev = "c87463cc115b1e4cf9771c0b0b5a9fa8b7ba1d8f"; - # }; - #}); + systemd.package = pkgs.mysystemd; powerManagement.powertop.enable = true; diff --git a/network-configuration.nix b/network-configuration.nix index 343d1b1..7fbbd5c 100644 --- a/network-configuration.nix +++ b/network-configuration.nix @@ -141,10 +141,6 @@ in { }; systemd.network.enable = true; - systemd.services.systemd-networkd.serviceConfig.ExecStart = [ - "" - "${pkgs.networkd}/bin/systemd-networkd" - ]; systemd.network.netdevs = let wgTemplate = lport: name: endpoint: key: { netdevConfig = { Name = "wg-${name}"; Kind = "wireguard"; }; diff --git a/overlays/mypackages/default.nix b/overlays/mypackages/default.nix new file mode 100644 index 0000000..6778107 --- /dev/null +++ b/overlays/mypackages/default.nix @@ -0,0 +1,72 @@ +self: super: + +{ + hplip = super.hplip.override { withPlugin = true; }; + #neovim = pkgs.neovim.override { + # vimAlias = true; + # extraPythonPackages = with python27Packages; [jedi]; + # #python3Packages = python36Packages; + # extraPython3Packages = with python3Packages; [jedi requests2]; + #}; + + mynix = super.nixUnstable.overrideDerivation (old: { + src = self.fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "a7e55151a8d45d987ca42ba318c44ed3ccdeecca"; + sha256 = "0qnnc8wbh55j2mpnywvj22ajcqfcdfismxbgkix45hq4nm5lkb1j"; + }; + enableParallelBuilding = true; + }); + + mysystemd = super.systemd.overrideDerivation(old: { + src = self.fetchFromGitHub { + owner = "Mic92"; + repo = "systemd"; + rev = "17b7553d68519399c2fefc8bbed234f86a240992"; + sha256 = "1gbi9aq1gq3il8256ffa2s4nyp26qzfyzsmvyr0kqfdmxb9pjj39"; + }; + preConfigure = old.preConfigure + '' + substituteInPlace src/network/networkd-manager.c \ + --replace /usr/lib/systemd/network $out/lib/systemd/network + ''; + }); + + networkd = super.stdenv.mkDerivation { + name = "systemd-networkd"; + buildInputs = with self; [ + linuxHeaders pkgconfig intltool gperf libcap kmod + xz pam acl + libuuid m4 glib libxslt libgcrypt libgpgerror + libmicrohttpd kexectools libseccomp libffi audit lz4 libapparmor + iptables gnu-efi + gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45 + (python3.withPackages (pythonPackages: with pythonPackages; [ lxml ])) + patchelf + ]; + nativeBuildInputs = with self; [ meson ninja glibcLocales ]; + src = self.fetchFromGitHub { + owner = "Mic92"; + repo = "systemd"; + rev = "9f11187dae637c3184922276dd809a0ebcb9cb69"; + sha256 = "05nknky9ga2spfmid6gwplinn0iyc7rm63dxj7fmnb8yxdywqq1q"; + }; + LC_ALL="en_US.utf8"; + + configurePhase = '' + patchShebangs . + substituteInPlace src/network/networkd-manager.c \ + --replace /usr/lib/systemd/network $out/lib/systemd/network + meson -D system-uid-max=499 -D system-gid-max=499 . build + cd build + ''; + buildPhase = "ninja systemd-networkd"; + installPhase = '' + mkdir -p $out/{bin,lib/systemd} + cp src/shared/libsystemd-shared-*.so $out/lib + cp -r ../network $out/lib/systemd/network + cp ./systemd-networkd $out/bin + patchelf --set-rpath "$out/lib:\$ORIGIN" $out/bin/systemd-networkd + ''; + }; +} diff --git a/packages.nix b/packages.nix index 0634a3a..fd33855 100644 --- a/packages.nix +++ b/packages.nix @@ -9,55 +9,12 @@ in { extraModulePackages = with linuxPackages_4_11; [ bcc wireguard sysdig ]; zfs.enableUnstable = true; }; - nixpkgs.config = { - allowUnfree = true; - packageOverrides = pkgs: rec { - hplip = pkgs.hplip.override { withPlugin = true; }; - #neovim = pkgs.neovim.override { - # vimAlias = true; - # extraPythonPackages = with python27Packages; [jedi]; - # #python3Packages = python36Packages; - # extraPython3Packages = with python3Packages; [jedi requests2]; - #}; - networkd = stdenv.mkDerivation { - name = "systemd-networkd"; - buildInputs = [ - linuxHeaders pkgconfig intltool gperf libcap kmod - xz pam acl - libuuid m4 glib libxslt libgcrypt libgpgerror - libmicrohttpd kexectools libseccomp libffi audit lz4 libapparmor - iptables gnu-efi - gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45 - (python3.withPackages (pythonPackages: with pythonPackages; [ lxml ])) - patchelf - ]; - nativeBuildInputs = [ meson ninja glibcLocales ]; - src = fetchFromGitHub { - owner = "Mic92"; - repo = "systemd"; - rev = "3e56d2b1b121700a858b2e6980f855999ccba538"; - sha256 = "0bzgmc8lni72fblx1m9fzp62k580bkbbwdkfsdip1khq50bijxn0"; - }; - LC_ALL="en_US.utf8"; - configurePhase = '' - patchShebangs . - meson -D system-uid-max=499 -D system-gid-max=499 . build - cd build - ''; - buildPhase = "ninja systemd-networkd"; - installPhase = '' - mkdir -p $out/{bin,lib} - cp src/shared/libsystemd-shared-*.so $out/lib - cp ./systemd-networkd $out/bin - patchelf --set-rpath "$out/lib:\$ORIGIN" $out/bin/systemd-networkd - ''; - }; - }; - }; + nixpkgs.config.allowUnfree = true; + nixpkgs.overlays = [ (import ) ]; environment.systemPackages = [ - networkd + mysystemd linuxPackages.bcc usbutils (sysdig.overrideDerivation (old: { dontStrip = true; }))