feat!(flake): update homix
Add more & generalize flake outputs: - templates: just a `default.nix` (TODO: add a `Haskell` template) - packages & devShells: create and use `forEachPkgs` Add more `Wayland` things for `homix`: - `swww` - custom package + custom systemd service (TODO: abstract away) - `wired` - from flake + `home-manager` module Add default `imports` and `nixokgs.overlays` for `reo101@homix` -- TODO: don't handwire it, somehow *auto-import* from `mkNixosHost` in `flake.nix`
This commit is contained in:
parent
406fe35116
commit
0879b52630
13 changed files with 499 additions and 35 deletions
76
flake.lock
76
flake.lock
|
@ -1,5 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"alejandra": {
|
||||
"inputs": {
|
||||
"flakeCompat": "flakeCompat",
|
||||
"nixpkgs": [
|
||||
"wired",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1652974241,
|
||||
"narHash": "sha256-0AolxQtKj3Oek0WSbODDpPVO5Ih8PXHOA3qXEKPB4dQ=",
|
||||
"owner": "kamadorueda",
|
||||
"repo": "alejandra",
|
||||
"rev": "0be1462419fc73270a5dc0f84f8092603890b029",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kamadorueda",
|
||||
"repo": "alejandra",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -108,6 +130,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakeCompat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1648199409,
|
||||
"narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -385,6 +423,7 @@
|
|||
"nix-darwin": "nix-darwin",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"wired": "wired",
|
||||
"zig-overlay": "zig-overlay",
|
||||
"zls-overlay": "zls-overlay"
|
||||
}
|
||||
|
@ -420,6 +459,43 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils_2": {
|
||||
"locked": {
|
||||
"lastModified": 1652776076,
|
||||
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wired": {
|
||||
"inputs": {
|
||||
"alejandra": "alejandra",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1671338321,
|
||||
"narHash": "sha256-Nm/DarDGFYP+ocPcoEYh4guKXH+jndREtMl0VKMSYF8=",
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"rev": "f4300acba8180f8fc6babc1a118f9b3753a2b052",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
|
|
39
flake.nix
39
flake.nix
|
@ -51,6 +51,11 @@
|
|||
url = "github:zigtools/zls";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
wired = {
|
||||
url = "github:Toqozz/wired-notify";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
@ -64,32 +69,47 @@
|
|||
, neovim-nightly-overlay
|
||||
, zig-overlay
|
||||
, zls-overlay
|
||||
, wired
|
||||
, ...
|
||||
} @ inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
helpers = (import ./lib/helpers.nix) { lib = nixpkgs.lib; };
|
||||
inherit (helpers) recurseDir hasFiles hasDirectories;
|
||||
forAllSystems = nixpkgs.lib.genAttrs [
|
||||
forEachSystem = nixpkgs.lib.genAttrs [
|
||||
"aarch64-linux"
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
forEachPkgs = f: forEachSystem (system': f nixpkgs.legacyPackages.${system'});
|
||||
in
|
||||
rec {
|
||||
packages = forAllSystems (system:
|
||||
let pkgs = nixpkgs.legacyPackages.${system};
|
||||
in import ./pkgs { inherit pkgs; }
|
||||
# Packages (`nix build`)
|
||||
packages = forEachPkgs (pkgs:
|
||||
import ./pkgs { inherit pkgs; }
|
||||
);
|
||||
|
||||
devShells = forAllSystems (system:
|
||||
let pkgs = nixpkgs.legacyPackages.${system};
|
||||
in import ./shell.nix { inherit pkgs; }
|
||||
# Apps (`nix run`)
|
||||
apps = {};
|
||||
apps.default = null;
|
||||
|
||||
# Dev Shells (`nix develop`)
|
||||
devShells = forEachPkgs (pkgs:
|
||||
import ./shell.nix { inherit pkgs; }
|
||||
);
|
||||
|
||||
overlays = import ./overlays;
|
||||
# Formatter
|
||||
formatter = forEachPkgs (pkgs:
|
||||
pkgs.nixpkgs-fmt
|
||||
);
|
||||
|
||||
# Templates
|
||||
templates = import ./templates;
|
||||
|
||||
# Overlays
|
||||
overlays = import ./overlays { inherit inputs outputs; };
|
||||
|
||||
# Modules
|
||||
nixosModules = import ./modules/nixos;
|
||||
|
@ -118,9 +138,6 @@
|
|||
users = nixpkgs.lib.attrsets.genAttrs
|
||||
users
|
||||
(user: import ./machines/nixos/${system}/${hostname}/home/${user}.nix);
|
||||
# (user: args:
|
||||
# let home = import ./machines/nixos/${system}/${hostname}/home/${user}.nix args;
|
||||
# in home // { imports = (home.imports or []) ++ homeManagerModules; });
|
||||
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
|
|
239
machines/nixos/x86_64-linux/homix/configs/wired.ron
Normal file
239
machines/nixos/x86_64-linux/homix/configs/wired.ron
Normal file
|
@ -0,0 +1,239 @@
|
|||
(
|
||||
shortcuts: (
|
||||
notification_interact: 1,
|
||||
notification_close: 2,
|
||||
notification_closeall: 3,
|
||||
),
|
||||
|
||||
poll_interval: 16,
|
||||
max_notifications: 8,
|
||||
history_length: 100,
|
||||
replacing_enabled: true,
|
||||
replacing_resets_timeout: true,
|
||||
|
||||
timeout: 5000, // 3 sec timeout
|
||||
idle_threshold: 600, // 600 sec = 10 min
|
||||
unpause_on_input: true,
|
||||
|
||||
// min_window_width: 0,
|
||||
// min_window_height: 0,
|
||||
|
||||
debug: false,
|
||||
debug_color: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0),
|
||||
debug_color_alt: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0),
|
||||
|
||||
layout_blocks: [
|
||||
(
|
||||
name: "notif_root",
|
||||
parent: "",
|
||||
hook: (parent_anchor: TR, self_anchor: TR),
|
||||
offset: (x: -10, y: 39),
|
||||
params: NotificationBlock((
|
||||
monitor: 0,
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
gap: (x: 0.0, y: 10.0),
|
||||
background_color: (hex: "#0E1013"),
|
||||
border_color: (hex: "#61AFEF"),
|
||||
border_color_low: (hex: "#A0A8B7"),
|
||||
border_color_critical: (hex: "#E55561"),
|
||||
notification_hook: (parent_anchor: BL, self_anchor: TL),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_summary",
|
||||
parent: "notif_root",
|
||||
offset: (x: 0, y: 0),
|
||||
hook: (parent_anchor: TL, self_anchor: TR),
|
||||
params: TextBlock((
|
||||
text: "%s",
|
||||
padding: (left: 12.0, right: 12.0, top: 12.0, bottom: 7.0),
|
||||
font: "JetBrainsMono Nerd Font 11",
|
||||
color: (hex: "#A0A8B7"),
|
||||
dimensions: (
|
||||
width: (min: 300, max: 300),
|
||||
height: (min: 0, max: 0),
|
||||
),
|
||||
dimensions_image_hint: (
|
||||
width: (min: 233, max: 238),
|
||||
height: (min: 0, max: 0)
|
||||
),
|
||||
dimensions_image_app: (
|
||||
width: (min: 233, max: 238),
|
||||
height: (min: 0, max: 0)
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_body",
|
||||
parent: "notif_summary",
|
||||
offset: (x: 0, y: 0),
|
||||
hook: (parent_anchor: BL, self_anchor: TL),
|
||||
render_criteria: [ Body ],
|
||||
render_anti_criteria: [ AppName("progress") ],
|
||||
params: TextBlock((
|
||||
text: "%b",
|
||||
padding: (left: 12.0, right: 5.0, top: 5.0, bottom: 12.0),
|
||||
font: "JetBrainsMono Nerd Font 10",
|
||||
color: (hex: "#A0A8B7"),
|
||||
dimensions: (
|
||||
width: (min: 300, max: 300),
|
||||
height: (min: 0, max: 100),
|
||||
),
|
||||
dimensions_image_hint: (
|
||||
width: (min: 240, max: 240),
|
||||
height: (min: 0, max: 100)
|
||||
),
|
||||
dimensions_image_app: (
|
||||
width: (min: 240, max: 240),
|
||||
height: (min: 0, max: 100)
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_image",
|
||||
parent: "notif_summary",
|
||||
hook: (parent_anchor: TL, self_anchor: TR),
|
||||
offset: (x: 0, y: 0),
|
||||
render_criteria: [ AppImage, HintImage ],
|
||||
params: ImageBlock((
|
||||
image_type: HintThenApp,
|
||||
padding: (left: 12.0, right: 5.0, top: 12.0, bottom: 10.0),
|
||||
rounding: 5.0,
|
||||
scale_width: 50,
|
||||
scale_height: 50,
|
||||
filter_mode: Lanczos3,
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_progress",
|
||||
parent: "notif_summary",
|
||||
offset: (x: 0, y: 0),
|
||||
hook: (parent_anchor: BL, self_anchor: TL),
|
||||
render_criteria: [ Progress ],
|
||||
render_anti_criteria: [ Body ],
|
||||
params: ProgressBlock((
|
||||
padding: (left: 12.0, right: 12.0, top: 8.5, bottom: 12.5),
|
||||
border_width: 2.0,
|
||||
border_rounding: 5.0,
|
||||
fill_rounding: 5.0,
|
||||
border_color: (hex: "#30363F"),
|
||||
background_color: (hex: "#0E1013"),
|
||||
fill_color: (hex: "#BF68D9"),
|
||||
width: -1.0,
|
||||
height: 14.0,
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_buttonbox",
|
||||
parent: "notif_body",
|
||||
offset: (x: 12, y: 0),
|
||||
hook: (parent_anchor: BL, self_anchor: TL),
|
||||
render_criteria: [ ActionOther(0) ],
|
||||
params: TextBlock((
|
||||
text: "",
|
||||
padding: (left: 0.0, right: 0.0, top: 0.0, bottom: 0.0),
|
||||
font: "JetBrainsMono Nerd Font 11",
|
||||
color: (hex: "#A0A8B7"),
|
||||
dimensions: (
|
||||
width: (min: 288, max: 288),
|
||||
height: (min: 38, max: 38),
|
||||
),
|
||||
dimensions_image_hint: (
|
||||
width: (min: 221, max: 221),
|
||||
height: (min: 38, max: 38),
|
||||
),
|
||||
dimensions_image_app: (
|
||||
width: (min: 221, max: 221),
|
||||
height: (min: 38, max: 38),
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_button1",
|
||||
parent: "notif_buttonbox",
|
||||
offset: (x: 0, y: 0),
|
||||
hook: (parent_anchor: TL, self_anchor: TL),
|
||||
render_criteria: [ ActionOther(0) ],
|
||||
params: ButtonBlock((
|
||||
text: "%a",
|
||||
font: "JetBrainsMono Nerd Font 10",
|
||||
action: OtherAction(0),
|
||||
padding: (left: 8.0, right: 8.0, top: 4.0, bottom: 4.0),
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
fill_rounding: 0.0,
|
||||
text_color: (hex: "#A0A8B7"),
|
||||
text_color_hovered: (hex: "#FFFFFF"),
|
||||
border_color: (hex: "#30363F"),
|
||||
border_color_hovered: (hex: "#585b70"),
|
||||
background_color: (hex: "#282C34"),
|
||||
fill_color: (hex: "#FFFFFF"),
|
||||
dimensions: (
|
||||
width: (min: -1, max: -1),
|
||||
height: (min: 0, max: 0)
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_button2",
|
||||
parent: "notif_button1",
|
||||
offset: (x: 10, y: 0),
|
||||
hook: (parent_anchor: TR, self_anchor: TL),
|
||||
render_criteria: [ ActionOther(1) ],
|
||||
params: ButtonBlock((
|
||||
text: "%a",
|
||||
font: "JetBrainsMono Nerd Font 10",
|
||||
action: OtherAction(1),
|
||||
padding: (left: 8.0, right: 8.0, top: 4.0, bottom: 4.0),
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
fill_rounding: 0.0,
|
||||
text_color: (hex: "#A0A8B7"),
|
||||
text_color_hovered: (hex: "#FFFFFF"),
|
||||
border_color: (hex: "#30363F"),
|
||||
border_color_hovered: (hex: "#585b70"),
|
||||
background_color: (hex: "#282C34"),
|
||||
fill_color: (hex: "#FFFFFF"),
|
||||
dimensions: (
|
||||
width: (min: -1, max: -1),
|
||||
height: (min: 0, max: 0)
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "notif_button3",
|
||||
parent: "notif_button2",
|
||||
offset: (x: 10, y: 0),
|
||||
hook: (parent_anchor: TR, self_anchor: TL),
|
||||
render_criteria: [ ActionOther(2) ],
|
||||
params: ButtonBlock((
|
||||
text: "%a",
|
||||
font: "JetBrainsMono Nerd Font 10",
|
||||
action: OtherAction(2),
|
||||
padding: (left: 8.0, right: 8.0, top: 4.0, bottom: 4.0),
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
fill_rounding: 0.0,
|
||||
text_color: (hex: "#A0A8B7"),
|
||||
text_color_hovered: (hex: "#FFFFFF"),
|
||||
border_color: (hex: "#30363F"),
|
||||
border_color_hovered: (hex: "#585b70"),
|
||||
background_color: (hex: "#282C34"),
|
||||
fill_color: (hex: "#FFFFFF"),
|
||||
dimensions: (
|
||||
width: (min: -1, max: -1),
|
||||
height: (min: 0, max: 0)
|
||||
),
|
||||
)),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,7 +1,19 @@
|
|||
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = builtins.attrValues outputs.homeManagerModules;
|
||||
imports = builtins.attrValues outputs.homeManagerModules ++ [
|
||||
inputs.wired.homeManagerModules.default
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = builtins.attrValues outputs.overlays ++ [
|
||||
# inputs.neovim-nightly-overlay.overlay
|
||||
inputs.zig-overlay.overlays.default
|
||||
inputs.wired.overlays.default
|
||||
];
|
||||
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
home = {
|
||||
username = "reo101";
|
||||
|
@ -13,52 +25,50 @@
|
|||
programs.home-manager.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# WM
|
||||
river
|
||||
## WM
|
||||
river # window manager
|
||||
swww # wallpaper deamon
|
||||
# wired-notify # dunst on wayland
|
||||
|
||||
# Terminals
|
||||
## Terminals
|
||||
wezterm
|
||||
foot
|
||||
|
||||
# Core
|
||||
## Core
|
||||
neovim
|
||||
git
|
||||
firefox
|
||||
discord
|
||||
vifm
|
||||
|
||||
# Shell
|
||||
## Shell
|
||||
zsh
|
||||
starship
|
||||
zoxide
|
||||
ripgrep
|
||||
|
||||
# Dhall
|
||||
## Dhall
|
||||
dhall
|
||||
dhall-lsp-server
|
||||
|
||||
# Nix
|
||||
## Nix
|
||||
rnix-lsp
|
||||
nil
|
||||
direnv
|
||||
|
||||
# Torrents
|
||||
## Torrents
|
||||
tremc
|
||||
|
||||
# Zig
|
||||
## Rust
|
||||
rustc
|
||||
cargo
|
||||
|
||||
## Zig
|
||||
# zigpkgs."0.10.1"
|
||||
zigpkgs.master
|
||||
# inputs.zls-overlay.packages.x86_64-linux.default
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
# inputs.neovim-nightly-overlay.overlay
|
||||
inputs.zig-overlay.overlays.default
|
||||
];
|
||||
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
# Enable the GPG Agent daemon.
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
|
@ -70,16 +80,38 @@
|
|||
enable = true;
|
||||
userName = "reo101";
|
||||
userEmail = "pavel.atanasov2001@gmail.com";
|
||||
# signing = {
|
||||
# signByDefault = true;
|
||||
# key = "0x52F3E1D376F692C0";
|
||||
# };
|
||||
};
|
||||
|
||||
reo101.shell = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
systemd.user.services."swww" = {
|
||||
Unit = {
|
||||
Description = "Swww Daemon";
|
||||
PartOf = "graphical-session.target";
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.swww}/bin/swww init";
|
||||
ExecStop = "${pkgs.swww}/bin/swww kill";
|
||||
Type = "simple";
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
|
||||
# services.swww = {
|
||||
# enabled = true;
|
||||
# };
|
||||
|
||||
services.wired = {
|
||||
enable = true;
|
||||
config = ../configs/wired.ron;
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/nvim" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.local/src/reovim";
|
||||
|
@ -88,7 +120,7 @@
|
|||
|
||||
home.file.".config/river/init" = {
|
||||
executable = true;
|
||||
source = ./../river;
|
||||
source = ../configs/river;
|
||||
};
|
||||
|
||||
# home.file.".stack/config.yaml".text = lib.generators.toYAML {} {
|
||||
|
|
60
modules/nixos/jellyfin.nix
Normal file
60
modules/nixos/jellyfin.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{ config, nixpkgs, ... }:
|
||||
|
||||
### Jellyfin
|
||||
# nixpkgs.config.packageOverrides = pkgs: {
|
||||
# arc = import (builtins.fetchTarball {
|
||||
# url = "https://github.com/arcnmx/nixexprs/archive/1a2ca1935e243383dfc8dc89f88f55678d33fcd4.tar.gz";
|
||||
# sha256 = "sha256:0zjy3916sxxk7ds763dmmbzfdc46wdlw10m5dg6kkpqi2i81109f";
|
||||
# }) {
|
||||
# inherit pkgs;
|
||||
# };
|
||||
# vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
# };
|
||||
|
||||
# hardware.nvidia.package = pkgs.arc.packages.nvidia-patch.override {
|
||||
# nvidia_x11 = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# };
|
||||
|
||||
# hardware.opengl = {
|
||||
# enable = true;
|
||||
# extraPackages = with pkgs; [
|
||||
# intel-media-driver
|
||||
# vaapiIntel
|
||||
# vaapiVdpau
|
||||
# libvdpau-va-gl
|
||||
# intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
||||
# ];
|
||||
# };
|
||||
|
||||
virtualisation.oci-containers.containers."jellyfin" = {
|
||||
autoStart = true;
|
||||
image = "docker.io/jellyfin/jellyfin:latest";
|
||||
volumes = [
|
||||
"/var/cache/jellyfin/config:/config"
|
||||
"/var/cache/jellyfin/cache:/cache"
|
||||
"/var/log/jellyfin:/log"
|
||||
"/media:/media:ro"
|
||||
];
|
||||
ports = [ "8096:8096" ];
|
||||
environment = {
|
||||
JELLYFIN_LOG_DIR = "/log";
|
||||
};
|
||||
};
|
||||
|
||||
## services.jellyfin.enable = true;
|
||||
|
||||
## systemd.services."jellyfin".serviceConfig = {
|
||||
## DeviceAllow = pkgs.lib.mkForce [
|
||||
## "char-drm rw"
|
||||
## "char-nvidia-frontend rw"
|
||||
## "char-nvidia-uvm rw"
|
||||
## ];
|
||||
## PrivateDevices = pkgs.lib.mkForce true;
|
||||
## RestrictAddressFamilies = pkgs.lib.mkForce [
|
||||
## "AF_UNIX"
|
||||
## "AF_NETLINK"
|
||||
## "AF_INET"
|
||||
## "AF_INET6"
|
||||
## ];
|
||||
## };
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
# This file defines overlays
|
||||
{ inputs, outputs, ... }:
|
||||
{
|
||||
# This one brings our custom packages from the 'pkgs' directory
|
||||
additions = final: _prev: import ../pkgs { pkgs = final; };
|
||||
|
|
|
@ -3,4 +3,5 @@
|
|||
|
||||
{ pkgs ? (import ../nixpkgs.nix) { } }: {
|
||||
# example = pkgs.callPackage ./example { };
|
||||
swww = pkgs.callPackage ./swww { };
|
||||
}
|
||||
|
|
32
pkgs/swww/default.nix
Normal file
32
pkgs/swww/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchFromGitHub, rustPlatform, pkg-config, libxkbcommon }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "swww";
|
||||
version = "v0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Horus645";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Z90Zwjqcu0hbtJwKPUNV996mtdgX//ZWWm+Dya/JV9A=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-f6++5DazCqJjRuZquiJ5hdf9l+q6sOBZOL/vyQy1hA0";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Solution to your Wayland Wallpaper Woes";
|
||||
homepage = "https://github.com/Horus645/swww";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.reo101 ];
|
||||
};
|
||||
}
|
6
templates/default.nix
Normal file
6
templates/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
haskell = {
|
||||
description = "Haskell environment (stack + hls)";
|
||||
path = ./haskell;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue