We do a little refactoring + plasma theming

This commit is contained in:
Jo 2024-04-25 02:33:53 +02:00
parent 05b36550a3
commit 39dd3f47c8
22 changed files with 257 additions and 397 deletions

2
.gitignore vendored
View file

@ -0,0 +1,2 @@
# Jetbrains configuration directory
/.idea

8
.idea/.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MaterialThemeProjectNewConfig">
<option name="metadata">
<MTProjectMetadataState>
<option name="migrated" value="true" />
<option name="pristineConfig" value="false" />
<option name="userId" value="-2b035df3:18ee689acec:-8000" />
</MTProjectMetadataState>
</option>
</component>
</project>

8
.idea/modules.xml Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/nix-config.iml" filepath="$PROJECT_DIR$/.idea/nix-config.iml" />
</modules>
</component>
</project>

8
.idea/nix-config.iml Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

19
.idea/php.xml Normal file
View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

6
.idea/vcs.xml Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View file

@ -2,7 +2,6 @@
Jo's NixOS configuration
## Deployment
Run this to apply your system configuration.

View file

@ -1,103 +1,5 @@
{
"nodes": {
"catppuccinifier": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1696928114,
"narHash": "sha256-h445Aox0jck7MOCsKxXLKiE4QvptL/54eXUuhQZGF7o=",
"owner": "lighttigerXIV",
"repo": "catppuccinifier",
"rev": "ef9c180bb7bbf1486671a1c6df41adaab60a9b41",
"type": "github"
},
"original": {
"owner": "lighttigerXIV",
"repo": "catppuccinifier",
"type": "github"
}
},
"crane": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": [
"catppuccinifier",
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1687310026,
"narHash": "sha256-20RHFbrnC+hsG4Hyeg/58LvQAK7JWfFItTPFAFamu8E=",
"owner": "ipetkov",
"repo": "crane",
"rev": "116b32c30b5ff28e49f4fcbeeb1bbe3544593204",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1687171271,
"narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -105,11 +7,11 @@
]
},
"locked": {
"lastModified": 1698128422,
"narHash": "sha256-Qf39ATHrj6wfeC+K6uwD/FnI7RKrdEiN3uWaciUi0rM=",
"lastModified": 1713818326,
"narHash": "sha256-aw3xbVPJauLk/bbrlakIYxKpeuMWzA2feGrkIpIuXd8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "6045b68ee725167ed0487f0fb88123202ba61923",
"rev": "67de98ae6eed5ad6f91b1142356d71a87ba97f21",
"type": "github"
},
"original": {
@ -121,11 +23,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1697723726,
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0",
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
"type": "github"
},
"original": {
@ -135,68 +37,34 @@
"type": "github"
}
},
"root": {
"plasma-manager": {
"inputs": {
"catppuccinifier": "catppuccinifier",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": [
"catppuccinifier",
"crane",
"flake-utils"
"home-manager": [
"home-manager"
],
"nixpkgs": [
"catppuccinifier",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1685759304,
"narHash": "sha256-I3YBH6MS3G5kGzNuc1G0f9uYfTcNY9NYoRc3QsykLk4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c535b4f3327910c96dcf21851bbdd074d0760290",
"lastModified": 1713805120,
"narHash": "sha256-WmqVyblqQ3g2Bmm+WONc1OnUuOuULQRIQya9wCLp5o8=",
"owner": "pjones",
"repo": "plasma-manager",
"rev": "ffeef9dc96a5a0e442479c94a6000f93b69aeaac",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"owner": "pjones",
"repo": "plasma-manager",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"plasma-manager": "plasma-manager"
}
}
},

View file

@ -5,46 +5,51 @@
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Gnome testing branch (getting new major versions earlier)
# gnomeNixpkgs.url = "github:NixOS/nixpkgs/gnome";
# Home manager
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Catppuccinifier
catppuccinifier = {
url = "github:lighttigerXIV/catppuccinifier";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
# TODO: Add any other flake you might need
# hardware.url = "github:nixos/nixos-hardware";
# Shameless plug: looking for a way to nixify your themes and make
# everything match nicely? Try nix-colors!
# nix-colors.url = "github:misterio77/nix-colors";
# Plasma manager
plasma-manager = {
url = "github:pjones/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
};
outputs = {
self,
nixpkgs,
home-manager,
catppuccinifier,
...
} @ inputs: let
outputs = { self, nixpkgs, home-manager, plasma-manager, ... } @inputs:
let
inherit (self) outputs;
# Supported systems for this flake
systems = [
"x86_64-linux"
];
# Function that generates an attribute by calling a function you pass to it
# It takes each system as an argument
forAllSystems = nixpkgs.lib.genAttrs systems;
in {
# My custom packages
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
# My reusable modules for nixos
nixosModules = import ./modules/nixos;
# My reusable modules for home-manager
homeManagerModules = import ./modules/home-manager;
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = {
# FIXME replace with your hostname
nixos = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs catppuccinifier;};
# > Our main nixos configuration file <
puzzlevision = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;};
modules = [
./nixos/configuration.nix
./nixos/modules/desktop/kde.nix
./hosts/puzzlevision/configuration.nix
./modules/nixos/desktop/kde.nix
];
};
};
@ -52,13 +57,13 @@
# Standalone home-manager configuration entrypoint
# Available through 'home-manager --flake .#your-username@your-hostname'
homeConfigurations = {
"jo@nixos" = home-manager.lib.homeManagerConfiguration {
"jo@puzzlevision" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs;};
# > Our main home-manager configuration file <
modules = [
./home-manager/home.nix
];
./home-manager/puzzlevision/home.nix
];
};
};
};

View file

@ -1,132 +0,0 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
# If you want to use home-manager modules from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModule
];
nixpkgs = {
# You can add overlays here
overlays = [
# If you want to use overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = _: true;
};
};
home = {
username = "jo";
homeDirectory = "/home/jo";
};
# home.packages = with pkgs.gnomeExtensions; [
# user-themes
# dash-to-dock
# appindicator
# blur-my-shell
# rounded-window-corners
# ];
# dconf.settings = with lib.hm.gvariant; {
# "org/gnome/shell" = {
# disable-user-extensions = false;
# # enabled-extensions = map (extension: extension.extensionUuid) home.packages;
# disabled-extensions = [ ];
# };
# "org/gnome/shell/extensions/user-theme" = {
# name = config.gtk.theme.name;
# };
# # "org/gnome/shell/extensions/dash-to-dock" = {
# # "appicon-margin" = 0;
# # "appicon-padding" = 6;
# # "tray-padding" = 4;
# # "click-action" = "TOGGLE-SHOWPREVIEW";
# # "dot-position" = "TOP";
# # "dot-style-focused" = "METRO";
# # "dot-style-unfocused" = "DASHES";
# # "group-apps" = true;
# # "isolate-workspaces" = true;
# # "middle-click-action" = "MINIMIZE";
# # "shift-click-action" = "LAUNCH";
# # "scroll-icon-action" = "NOTHING";
# # "scroll-panel-action" = "NOTHING";
# # "stockgs-panelbtn-click-only" = true;
# # };
# "org/gnome/desktop/interface" = {
# color-scheme = "prefer-dark";
# clock-show-weekday = true;
# clock-show-date = true;
# clock-show-seconds = false;
# enable-hot-corners = false;
# };
# "org/gnome/desktop/input-sources" = {
# sources = [ (mkTuple [ "xkb" "de" ]) ];
# };
# "org/gnome/shell" = {
# favorite-apps = [
# "firefox.desktop"
# "org.gnome.Nautilus.desktop"
# ];
# };
# };
# gtk = {
# enable = true;
# theme = {
# name = "Adw-gtk3";
# package = pkgs.adw-gtk3;
# };
# cursorTheme = {
# name = "Catppuccin-Macchiato-Dark-Cursors";
# package = pkgs.catppuccin-cursors.macchiatoRed;
# size = 32;
# };
# };
# home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css";
# home.file.".config/gtk-4.0/gtk-dark.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk-dark.css";
# home.file.".config/gtk-4.0/assets" = {
# recursive = true;
# source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/assets";
# };
# Add stuff for your user as you see fit:
# programs.neovim.enable = true;
# home.packages = with pkgs; [ steam ];
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

View file

@ -0,0 +1,55 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
# If you want to use home-manager modules from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModule
inputs.plasma-manager.homeManagerModules.plasma-manager
];
nixpkgs = {
# You can add overlays here
overlays = [];
# Configure your nixpkgs instance
config = {
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = _: true;
};
};
# Username and home directory
home = {
username = "jo";
homeDirectory = "/home/jo";
};
# Plasma configuration
programs.plasma = {
enable = true;
workspace = {
clickItemTo = "select";
iconTheme = "Tela-Blue-Dark";
};
};
# home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css";
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

View file

@ -53,14 +53,18 @@
options = "--delete-older-than 3d";
};
};
# Install the latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Improve SSD performance
fileSystems."/".options = [ "noatime" "nodiratime" "discard" ];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos";
networking.hostName = "puzzlevision";
# Enable networking
networking.networkmanager.enable = true;
@ -104,45 +108,36 @@
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
networking.wg-quick = {
interfaces.homelab = {
privateKey = "kJ+2MOoYbtI6K00pJbVQshD7bXx/pjKw01wlMih9FFI=";
address = [ "10.8.0.2/24" ];
dns = [ "1.1.1.1" ];
peers = [
# For a client configuration, one peer entry for the server will suffice.
{
# Public key of the server (not a file path).
publicKey = "MTUi5FzlUQX1Vl2PLC72hnZnREn5kYRGqS6QSnaFeyQ=";
presharedKey = "Spzeg7KwMXuczdkpMygmzix5QBkgTOrR3lLlO7862yw=";
allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "jo-server.duckdns.org:51820";
persistentKeepalive = 0;
}
];
};
};
# Enable docker
virtualisation.docker.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
# Configure keymap in X11
services.xserver = {
xkb.layout = "de";
xkb.variant = "";
};
# Define a user account.
users.users = {
jo = {
isNormalUser = true;
description = "Jo";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = [ "networkmanager" "wheel" "docker" "tty" "dialout" ];
packages = with pkgs; [
discord
ciscoPacketTracer8
wireshark
joplin-desktop
teamspeak_client
virtualbox
spotify
qflipper
wineWowPackages.waylandFull
vesktop
avra
avrdude
jetbrains.phpstorm
teams-for-linux
enpass
thunderbird
kde-rounded-corners
];
};
@ -152,10 +147,10 @@
initialPassword = "fortnite";
extraGroups = [ "networkmanager" ];
packages = with pkgs; [
jetbrains.webstorm
jetbrains.phpstorm
teams-for-linux
enpass
thunderbird
];
};
};
@ -171,18 +166,12 @@
environment.systemPackages = with pkgs; [
nano
firefox
thunderbird
vlc
libreoffice
wineWowPackages.waylandFull
xorg.xf86inputlibinput
gimp
ungoogled-chromium
# For development
vscodium
git
nodejs_20
bun
];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion

View file

@ -8,33 +8,42 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/9469c51e-bfcf-4d70-88e8-96e3cec4fbda";
fsType = "ext4";
{ device = "/dev/disk/by-uuid/864b1287-89fd-4cc0-98a5-40a3caf804c6";
fsType = "btrfs";
options = [ "subvol=@" ];
};
boot.initrd.luks.devices."luks-5fd4fc76-d5c5-46c3-b952-1a7a7ff3a1fc".device = "/dev/disk/by-uuid/5fd4fc76-d5c5-46c3-b952-1a7a7ff3a1fc";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/7526-929F";
{ device = "/dev/disk/by-uuid/2429-4141";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/49ae48db-5d1e-421b-90c6-7e092847636c"; }
];
fileSystems."/var/lib/docker/btrfs" =
{ device = "/@/var/lib/docker/btrfs";
fsType = "none";
options = [ "bind" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.br-9b746f4e7e2f.useDHCP = lib.mkDefault true;
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,6 @@
# Collection of reusable home-manager modules (https://nixos.wiki/wiki/Module)
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
{
# List your module files here
# my-module = import ./my-module.nix;
}

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,6 @@
# Collection of reusable nixos modules (https://nixos.wiki/wiki/Module)
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
{
# List your module files here
# my-module = import ./my-module.nix;
}

View file

@ -11,10 +11,4 @@
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "de";
xkbVariant = "";
};
}
}

View file

@ -0,0 +1,19 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
# Enable the x11 windowing system
services.xserver.enable = true;
# Enable the SDDM display manager.
services.displayManager.sddm.enable = true;
# Enable the KDE Plasma 6 desktop environment.
services.desktopManager.plasma6.enable = true;
# Enable KDE-Connect
programs.kdeconnect.enable = true;
}

View file

@ -1,27 +0,0 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "de";
xkbVariant = "";
};
environment.systemPackages = with pkgs; [
lightly-boehs
kde-rounded-corners
];
programs.kdeconnect.enable = true;
}

5
pkgs/default.nix Normal file
View file

@ -0,0 +1,5 @@
# Custom packages, that can be defined similarly to ones from nixpkgs
# You can build them using 'nix build .#example'
pkgs: {
# example = pkgs.callPackage ./example { };
}