add cerulean compatability
This commit is contained in:
parent
e961180371
commit
a2192c9341
23 changed files with 239 additions and 688 deletions
200
flake.lock
generated
200
flake.lock
generated
|
|
@ -1,29 +1,48 @@
|
|||
{
|
||||
"nodes": {
|
||||
"colmena": {
|
||||
"cerulean": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"deploy-rs": "deploy-rs",
|
||||
"mix": "mix",
|
||||
"nib": "nib",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-unstable": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"stable": [
|
||||
"nixpkgs"
|
||||
"systems": [
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734374287,
|
||||
"narHash": "sha256-rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "colmena",
|
||||
"rev": "47b6414d800c8471e98ca072bc0835345741a56a",
|
||||
"lastModified": 1770552327,
|
||||
"narHash": "sha256-cVVPdC650MRP4tMSB9EcECUpc0U4HWSZzoQnpEHH0uE=",
|
||||
"path": "/home/me/agribit/nexus/Cerulean",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "/home/me/agribit/nexus/Cerulean",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"deploy-rs": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766051518,
|
||||
"narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=",
|
||||
"owner": "serokell",
|
||||
"repo": "deploy-rs",
|
||||
"rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zhaofengli",
|
||||
"repo": "colmena",
|
||||
"rev": "47b6414d800c8471e98ca072bc0835345741a56a",
|
||||
"owner": "serokell",
|
||||
"repo": "deploy-rs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
|
@ -56,11 +75,11 @@
|
|||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -101,25 +120,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-utils",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"grub2-themes": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -140,6 +140,48 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mix": {
|
||||
"inputs": {
|
||||
"nib": [
|
||||
"cerulean",
|
||||
"nib"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768525804,
|
||||
"narHash": "sha256-jlpNb7Utqfdq2HESAB1mtddWHOsxKlTjPiLFRLd35r8=",
|
||||
"owner": "emilelcb",
|
||||
"repo": "mix",
|
||||
"rev": "617d8915a6518a3d4e375b87c50ae34d9daee6c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "emilelcb",
|
||||
"repo": "mix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nib": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"cerulean",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768472076,
|
||||
"narHash": "sha256-bdVRCDy6oJx/CZiyxkke783FgtBW//wDuOAITUsQcNc=",
|
||||
"owner": "emilelcb",
|
||||
"repo": "nib",
|
||||
"rev": "42ac66dfc180a13af1cc8850397db66ec5556991",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "emilelcb",
|
||||
"repo": "nib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1767983141,
|
||||
|
|
@ -156,27 +198,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"colmena",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729742964,
|
||||
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixcord": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
|
|
@ -201,16 +222,16 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1770536720,
|
||||
"narHash": "sha256-pbmbaQUuoG+v37b91lqcNcz05YUvVif7iWjIx9lF8R4=",
|
||||
"lastModified": 1743014863,
|
||||
"narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3c64ab24b22579c833895b6030c9563837e41a70",
|
||||
"rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.05",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
@ -246,16 +267,32 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1770536720,
|
||||
"narHash": "sha256-pbmbaQUuoG+v37b91lqcNcz05YUvVif7iWjIx9lF8R4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3c64ab24b22579c833895b6030c9563837e41a70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"colmena": "colmena",
|
||||
"cerulean": "cerulean",
|
||||
"dobutterfliescry-net": "dobutterfliescry-net",
|
||||
"grub2-themes": "grub2-themes",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
|
@ -272,6 +309,39 @@
|
|||
"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"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
139
flake.nix
139
flake.nix
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
description = "Emile's Nix Dotfiles";
|
||||
description = "im gonna cry again ;-;";
|
||||
|
||||
inputs = {
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
|
@ -7,12 +7,18 @@
|
|||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
colmena = {
|
||||
url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
cerulean = {
|
||||
# url = "github:emilelcb/Cerulean";
|
||||
url = "/home/me/agribit/nexus/Cerulean";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs-unstable";
|
||||
stable.follows = "nixpkgs";
|
||||
flake-utils.inputs.systems.follows = "systems";
|
||||
systems.follows = "systems";
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs-unstable.follows = "nixpkgs-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -38,84 +44,63 @@
|
|||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
cerulean,
|
||||
home-manager,
|
||||
grub2-themes,
|
||||
colmena,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = false; # sanity check
|
||||
};
|
||||
}: let
|
||||
groups = {
|
||||
cryde = {}; # oh frick i cried again
|
||||
server = {};
|
||||
};
|
||||
in
|
||||
cerulean.mkNexus ./. {
|
||||
nexus = {
|
||||
inherit groups;
|
||||
overlays = import ./overlays;
|
||||
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config = {
|
||||
# allowUnfree = true; # TODO: bandaid solution... (for minecraft-server)
|
||||
allowUnfree = false;
|
||||
};
|
||||
};
|
||||
# TODO: come back to this its really cool
|
||||
# this is just something I'm experimenting with
|
||||
# ROOT = ./.;
|
||||
|
||||
specialArgs = {inherit inputs pkgs-unstable;};
|
||||
in {
|
||||
devShells."x86_64-linux".default = pkgs.mkShell {
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
|
||||
packages = with pkgs; [
|
||||
# ./script/* dependencies
|
||||
mkpasswd
|
||||
];
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
# i be on my puter fr
|
||||
myputer = nixpkgs.lib.nixosSystem {
|
||||
# nix passes these to every single module
|
||||
inherit specialArgs;
|
||||
|
||||
modules = [
|
||||
./hosts/myputer
|
||||
grub2-themes.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# my laptop 0w0
|
||||
lolcathost = nixpkgs.lib.nixosSystem {
|
||||
inherit specialArgs;
|
||||
|
||||
modules = [
|
||||
./hosts/lolcathost
|
||||
grub2-themes.nixosModules.default
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# remote deployment to my servers!!
|
||||
colmenaHive = colmena.lib.makeHive {
|
||||
meta = {
|
||||
nixpkgs = pkgs;
|
||||
inherit specialArgs;
|
||||
|
||||
# set nixpkgs per server
|
||||
nodeNixpkgs = {
|
||||
hyrule = import nixpkgs {
|
||||
nodes = {
|
||||
# my laptop <3 :3
|
||||
lolcathost = {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = false;
|
||||
groups = [groups.cryde];
|
||||
extraModules = [
|
||||
home-manager.nixosModules.default
|
||||
grub2-themes.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# i be on my puter frfr
|
||||
myputer = {
|
||||
system = "x86_64-linux";
|
||||
groups = [groups.cryde];
|
||||
extraModules = [
|
||||
home-manager.nixosModules.default
|
||||
grub2-themes.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# courtesy of aurora <3
|
||||
butterfly = {
|
||||
system = "x86_64-linux";
|
||||
groups = [groups.server];
|
||||
deploy.ssh.host = "dobutterfliescry.net";
|
||||
};
|
||||
|
||||
# pls dont sue me im broke
|
||||
hyrule = {
|
||||
system = "x86_64-linux";
|
||||
groups = [groups.server];
|
||||
deploy.ssh.host = "hyrule.dobutterfliescry.net";
|
||||
};
|
||||
|
||||
# call me a statistician the way she spreads in my sheets
|
||||
matcha = {
|
||||
system = "x86_64-linux";
|
||||
groups = [groups.server];
|
||||
deploy.ssh.host = "bedroom.dobutterfliescry.net";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# meine vps
|
||||
hyrule = import ./hosts/hyrule;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
...
|
||||
} @ args: {
|
||||
imports = [
|
||||
|
|
@ -16,12 +16,9 @@
|
|||
../modules/bat.nix
|
||||
|
||||
../modules/editor/helix.nix
|
||||
(import ../modules/editor/vscode.nix args)
|
||||
|
||||
../modules/firefox.nix
|
||||
../modules/apps/thunderbird.nix
|
||||
|
||||
#../modules/wm/hypr/hypridle.nix
|
||||
../modules/wm/hypr/hyprlock.nix
|
||||
../modules/kanshi.nix
|
||||
../modules/mako.nix
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
...
|
||||
}: let
|
||||
lsps = {
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
};
|
||||
|
||||
ty = {
|
||||
pkg = pkgs-unstable.ty;
|
||||
pkg = upkgs.ty;
|
||||
cmd = "ty";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{pkgs-unstable, ...}: {
|
||||
{upkgs, ...}: {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
package = pkgs-unstable.foot;
|
||||
package = upkgs.foot;
|
||||
|
||||
server.enable = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
...
|
||||
}: let
|
||||
home-manager = builtins.fetchTarball {
|
||||
|
|
@ -40,17 +40,6 @@ in {
|
|||
keyMap = "us";
|
||||
};
|
||||
|
||||
# colmena deployment configuration
|
||||
deployment = {
|
||||
targetHost = "imbored.dev";
|
||||
targetUser = "ae";
|
||||
targetPort = 22;
|
||||
sshOptions = [
|
||||
"-A" # forward ssh-agent
|
||||
];
|
||||
buildOnTarget = false; # build locally then deploy
|
||||
};
|
||||
|
||||
# super duper minimum grub2 config
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
...
|
||||
}: {
|
||||
services.minecraft-server = {
|
||||
enable = true;
|
||||
package = pkgs-unstable.minecraft-server; # use latest version only!
|
||||
package = upkgs.minecraft-server; # use latest version only!
|
||||
declarative = true;
|
||||
|
||||
eula = true;
|
||||
|
|
|
|||
|
|
@ -1,37 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
home-manager = builtins.fetchTarball {
|
||||
url = "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz";
|
||||
sha256 = "07pk5m6mxi666dclaxdwf7xrinifv01vvgxn49bjr8rsbh31syaq";
|
||||
};
|
||||
in {
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
(import "${home-manager}/nixos")
|
||||
|
||||
../modules/bashistrans.nix
|
||||
|
||||
../modules/wm/hyprland.nix
|
||||
# ../modules/wm/river.nix
|
||||
../modules/wm/crywl.nix
|
||||
|
||||
../modules/steam.nix
|
||||
../modules/obsidian.nix
|
||||
|
||||
../modules/angryoxide.nix
|
||||
# ../modules/flipperzero.nix
|
||||
# ../modules/chameleonultragui.nix
|
||||
|
||||
(import ../../overlays/default.nix {
|
||||
inherit pkgs;
|
||||
upkgs = pkgs-unstable;
|
||||
})
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
|
|
@ -41,7 +24,6 @@ in {
|
|||
];
|
||||
|
||||
nixpkgs.config.allowUnfreePredicate = let
|
||||
vscext = pkgs.vscode-extensions;
|
||||
whitelist = with pkgs;
|
||||
map lib.getName [
|
||||
discord
|
||||
|
|
@ -53,18 +35,6 @@ in {
|
|||
|
||||
obsidian
|
||||
gitkraken
|
||||
|
||||
vscode
|
||||
vscext.ms-dotnettools.csharp
|
||||
vscext.ms-dotnettools.csdevkit
|
||||
vscext.github.copilot
|
||||
vscext.github.copilot-chat
|
||||
|
||||
# XXX: DEBUG
|
||||
# rider-override
|
||||
# XXX: DEBUG
|
||||
|
||||
# jetbrains.rider
|
||||
];
|
||||
in
|
||||
pkg: builtins.elem (lib.getName pkg) whitelist;
|
||||
|
|
@ -237,7 +207,7 @@ in {
|
|||
|
||||
home-manager = {
|
||||
users.me = import ../../homes/me;
|
||||
extraSpecialArgs = {inherit inputs pkgs pkgs-unstable;};
|
||||
extraSpecialArgs = {inherit inputs pkgs upkgs;};
|
||||
sharedModules = [];
|
||||
};
|
||||
|
||||
|
|
@ -258,7 +228,6 @@ in {
|
|||
# ---- SYSTEM PACKAGES -----
|
||||
environment.systemPackages = with pkgs; [
|
||||
# User Environment
|
||||
# crywl
|
||||
swww
|
||||
helvum
|
||||
easyeffects
|
||||
|
|
@ -297,7 +266,7 @@ in {
|
|||
hexyl
|
||||
# ASM
|
||||
nasm
|
||||
(callPackage ../packages/x86-manpages {})
|
||||
# x86-manpages # WARNING: cerulean doesn't allow overlays bruh
|
||||
# C Family
|
||||
gcc
|
||||
clang
|
||||
|
|
@ -323,7 +292,7 @@ in {
|
|||
nix-prefetch-git
|
||||
nix-index
|
||||
nix-unit
|
||||
deploy-rs
|
||||
deploy-rs.deploy-rs
|
||||
|
||||
# Python
|
||||
python312 # I use 3.12 since it's in a pretty stable state now
|
||||
|
|
@ -389,20 +358,13 @@ in {
|
|||
|
||||
# Games
|
||||
prismlauncher # minecraft
|
||||
pkgs-unstable.olympus # celeste
|
||||
upkgs.olympus # celeste
|
||||
discord
|
||||
discordo
|
||||
ekphos
|
||||
# ekphos # WARNING: cerulean doesnt allow overlays yet
|
||||
];
|
||||
|
||||
programs = {
|
||||
crywl = {
|
||||
enable = true;
|
||||
xwayland.enable = false;
|
||||
defaultSession = false;
|
||||
useUnmodifiedDWL = false;
|
||||
};
|
||||
|
||||
fish.enable = true;
|
||||
|
||||
nix-ld.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(callPackage ../packages/angryoxide {})
|
||||
];
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
dotnetVersions ? [8 9 10],
|
||||
...
|
||||
}: {
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Ensure latest stable Rider version (not necessarily stable on NixOS)
|
||||
pkgs-unstable.jetbrains.rider
|
||||
upkgs.jetbrains.rider
|
||||
|
||||
# NOTE: Blazor requires a Chromium-based browser
|
||||
chromium
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(callPackage ../packages/chameleonultragui {})
|
||||
];
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#### wishlist.nix
|
||||
This is a simple Nix flake defining a service from which
|
||||
wishlist can run automatically. This flake runs wishlist-0.15.1
|
||||
and lacks configurability unfortunately. However this was an
|
||||
intentional choice, allowing wishlist to read from the user's
|
||||
`~/.ssh/config` file, which can be configured seperately using
|
||||
the something akin to the follow home-manager snippet:
|
||||
```nix
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
addKeysToAgent = "yes"; # always add keys to ssh-agent
|
||||
|
||||
matchBlocks = {
|
||||
hyrule = {
|
||||
hostname = "imbored.dev";
|
||||
user = "ae";
|
||||
port = 22;
|
||||
identityFile = "/home/me/.ssh/id_hyrule";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
This decision was mostly selfish as it was easiest...
|
||||
But it comes at the cost of not being able to set the
|
||||
port wishlist listens on. So for now you're stuck with `2222`.
|
||||
|
||||
###### The Future!! (woooowwww)
|
||||
Create an option for wishlist that is used to construct
|
||||
the `config.yaml` file
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
config,
|
||||
nixpkgs,
|
||||
lib,
|
||||
flake-utils,
|
||||
}: let
|
||||
cfg = config.services.wishlist;
|
||||
supportedSystems = ["x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
||||
in {
|
||||
# TODO: 1. add options (ie one to set whether the server should be enabled),
|
||||
# 2. create a systemd service
|
||||
# 3. create a main program
|
||||
# 4. celibrate
|
||||
|
||||
# TODO: do I need to make this a home-manager option and set the yaml config?
|
||||
|
||||
# define what settings a user can change
|
||||
options = {
|
||||
services.wishlist = with lib; {
|
||||
enable = mkEnableOption "wishlist";
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 2222;
|
||||
description = "Port to listen on";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = self.packages.${nixpkgs.system}.default;
|
||||
description = "Package to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# define a systemd service for wishlist ^_^
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.wishlist = {
|
||||
description = "Single entrypoint for multiple SSH endpoints";
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = {
|
||||
DynamicUser = "yes";
|
||||
ExecStart = "${cfg.package}/bin/wishlist serve";
|
||||
Restart = "always";
|
||||
RestartSec = "2s";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
packages = flake-utils.lib.eachSystem supportedSystems (
|
||||
system: let
|
||||
version = "0.15.1";
|
||||
#pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = false;
|
||||
};
|
||||
#lib = pkgs.lib;
|
||||
in rec {
|
||||
defaultPackage = self.packages.${system}.wishlist;
|
||||
wishlist = pkgs.buildGoModule {
|
||||
pname = "wishlist";
|
||||
inherit version;
|
||||
meta = with lib; {
|
||||
description = "Single entrypoint for multiple SSH endpoints";
|
||||
homepage = "https://github.com/charmbracelet/wishlist";
|
||||
changelog = "https://github.com/charmbracelet/wishlist/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [caarlos0 penguwin];
|
||||
mainProgram = "wishlist";
|
||||
};
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "wishlist";
|
||||
rev = "v${version}";
|
||||
# rev = "d7f058e115a8b4a4131406d01dde84fb4a8e93c4";
|
||||
hash = "53fojA+gdvpSVNjx6QncH16F8/x+lpY5SkNs7obW2XQ=";
|
||||
};
|
||||
vendorSha256 = "0x6rss3fwv2398wrd5kyzkrqaphzvh4ykwfqai9glxm01y6fhxz7";
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
# NOTE: Wishlist service fails on nix because of readonly file system
|
||||
# and it can't find a config file for itself, it needs to write that
|
||||
# itself I suppose :(
|
||||
# So:
|
||||
# 1. Get it to write that file, and
|
||||
# 2. Allow it to inherit profiles from configured ssh
|
||||
{
|
||||
self,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
}: let
|
||||
cfg = config.services.wishlist;
|
||||
in {
|
||||
options = {
|
||||
services.wishlist = with lib; {
|
||||
enable = mkEnableOption "wishlist";
|
||||
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default =
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 2222;
|
||||
description = "Port to listen on";
|
||||
};
|
||||
|
||||
#configPath = mkOption {
|
||||
# type = types.path;
|
||||
# default = ;
|
||||
# description = "Path to config file";
|
||||
#};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = self.packages.${nixpkgs.system}.default;
|
||||
description = "Package to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# define a systemd service for wishlist ^_^
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.wishlist = {
|
||||
description = "Single entrypoint for multiple SSH endpoints";
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
serviceConfig = let
|
||||
wishlistServiceConfig = pkgs.writeText "config.yaml" ''
|
||||
hello world!
|
||||
'';
|
||||
in {
|
||||
DynamicUser = "yes";
|
||||
ExecStart = "${pkgs.wishlist}/bin/wishlist serve --config ${wishlistServiceConfig}";
|
||||
Restart = "always";
|
||||
RestartSec = "2s";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
packages = flake-utils.lib.eachSystem supportedSystems (
|
||||
system: let
|
||||
version = "0.15.1";
|
||||
#pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = false;
|
||||
};
|
||||
#lib = pkgs.lib;
|
||||
in rec {
|
||||
defaultPackage = self.packages.${system}.wishlist;
|
||||
wishlist = pkgs.buildGoModule {
|
||||
pname = "wishlist";
|
||||
inherit version;
|
||||
meta = with lib; {
|
||||
description = "Single entrypoint for multiple SSH endpoints";
|
||||
homepage = "https://github.com/charmbracelet/wishlist";
|
||||
changelog = "https://github.com/charmbracelet/wishlist/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [caarlos0 penguwin];
|
||||
mainProgram = "wishlist";
|
||||
};
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "wishlist";
|
||||
rev = "v${version}";
|
||||
# rev = "d7f058e115a8b4a4131406d01dde84fb4a8e93c4";
|
||||
hash = "53fojA+gdvpSVNjx6QncH16F8/x+lpY5SkNs7obW2XQ=";
|
||||
};
|
||||
vendorSha256 = "0x6rss3fwv2398wrd5kyzkrqaphzvh4ykwfqai9glxm01y6fhxz7";
|
||||
};
|
||||
}
|
||||
);
|
||||
*/
|
||||
}
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# flipper zero desktop app
|
||||
qflipper
|
||||
];
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
...
|
||||
}: let
|
||||
dotnetVersions = [8 9 10];
|
||||
|
|
@ -50,9 +50,9 @@ in {
|
|||
|
||||
# Mono
|
||||
mono
|
||||
# NOTE: nixpkgs-unstable uses .NET8 SDK
|
||||
# NOTE: nixupkgs uses .NET8 SDK
|
||||
# WARNING: nixpkgs-25.05 uses .NET6 SDK (now marked insecure)
|
||||
pkgs-unstable.msbuild
|
||||
upkgs.msbuild
|
||||
|
||||
# .NET Framework Tools/Services
|
||||
omnisharp-roslyn
|
||||
|
|
|
|||
|
|
@ -1,72 +0,0 @@
|
|||
{
|
||||
description = "Wishlist: Your SSH directory."
|
||||
|
||||
inputs = {
|
||||
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self
|
||||
}: let
|
||||
nixosModule = {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
options.services.wishlist = {
|
||||
enable = lib.mkEnableOption "Your SSH directory.";
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 22;
|
||||
description = "Port to listen on";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.services.wishlist.enable {
|
||||
# configure the systemd service
|
||||
systemd.services.wishlist = {
|
||||
description = "Your SSH directory.";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${self.packages.${pkgs.system}.default}/bin/wishlist";
|
||||
Restart = "always";
|
||||
Type = "simple";
|
||||
DynamicUser = "yes";
|
||||
};
|
||||
# environment variables
|
||||
environment = {
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
(flake-utils.lib.eachDefaultSystem (system: let
|
||||
gopkg = go-nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
packages.default = gopkg.buildGoModule ############################
|
||||
}))
|
||||
buildGoModule rec { # is rec necessary?
|
||||
pname = "wishlist";
|
||||
version = "0.15.1"
|
||||
|
||||
src = fetchFromGithub {
|
||||
owner = "charmbracelet";
|
||||
repo = "wishlist";
|
||||
rev = "v${version}";
|
||||
hash = "0c9g1s8j9znzd1mw61d0klc6sqri0wx6hljibxdwzi3cabfy3ld6";
|
||||
};
|
||||
|
||||
vendorSha256 = lib.fakeSha256;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/charmbracelet/wishlist";
|
||||
description = "Your SSH directory.";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ caarlos0 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{lib}: {
|
||||
buildGoModule rec { # is rec necessary?
|
||||
pname = "wishlist";
|
||||
version = "0.15.1"
|
||||
|
||||
src = fetchFromGithub {
|
||||
owner = "charmbracelet";
|
||||
repo = "wishlist";
|
||||
rev = "v${version}";
|
||||
hash = "0c9g1s8j9znzd1mw61d0klc6sqri0wx6hljibxdwzi3cabfy3ld6";
|
||||
};
|
||||
|
||||
vendorSha256 = lib.fakeSha256;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/charmbracelet/wishlist";
|
||||
description = "Your SSH directory.";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ caarlos0 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.programs.crywl;
|
||||
in {
|
||||
options.programs.crywl = with lib; {
|
||||
enable = mkEnableOption "CryWL";
|
||||
xwayland.enable = mkEnableOption "XWayland";
|
||||
defaultSession = mkEnableOption "CryWL as the default login session";
|
||||
|
||||
# currently DWL 0.7 (also beware I'll barely ever update the original DWL refs)
|
||||
useUnmodifiedDWL = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to use unmodified DWL source code (latest stable release)";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (let
|
||||
xwaylandEnabled = cfg.xwayland.enable;
|
||||
defaultSession = cfg.defaultSession;
|
||||
useUnmodifiedDWL = cfg.useUnmodifiedDWL;
|
||||
in {
|
||||
services.displayManager = {
|
||||
sessionPackages = [
|
||||
pkgs.crywl
|
||||
];
|
||||
|
||||
defaultSession = lib.mkIf defaultSession "crywl";
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.crywl
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
crywl = prev.dwl.overrideAttrs (oldAttrs: rec {
|
||||
pname = "crywl";
|
||||
version = "0.1-unstable";
|
||||
|
||||
src = let
|
||||
dwl_0_70 = {
|
||||
rev = "74e45c4014ae7048ecbb76eb6f54034b8b479480";
|
||||
hash = "sha256-7SoCITrbMrlfL4Z4hVyPpjB9RrrjLXHP9C5t1DVXBBA=";
|
||||
};
|
||||
crywl_unstable = {
|
||||
rev = "dc1260d3cfd14e8e5b243ec1d3d56e4b08c8c517";
|
||||
hash = "sha256-61R+xBYMzeEn93gLofcj8Y3VbJqW6g7GzCTujpAco90=";
|
||||
};
|
||||
in
|
||||
pkgs.fetchFromGitea ({
|
||||
domain = "forge.imbored.dev";
|
||||
owner = "emileclarkb";
|
||||
repo = pname;
|
||||
}
|
||||
// (
|
||||
if useUnmodifiedDWL
|
||||
then dwl_0_70
|
||||
else crywl_unstable
|
||||
));
|
||||
|
||||
buildInputs = with pkgs;
|
||||
[
|
||||
libinput
|
||||
xorg.libxcb
|
||||
libxkbcommon
|
||||
pixman
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlroots_0_19
|
||||
]
|
||||
++ lib.optionals xwaylandEnabled [
|
||||
xorg.libX11
|
||||
xorg.xcbutilwm
|
||||
xwayland
|
||||
];
|
||||
|
||||
makeFlags =
|
||||
[
|
||||
"PKG_CONFIG=${pkgs.stdenv.cc.targetPrefix}pkg-config"
|
||||
"WAYLAND_SCANNER=wayland-scanner"
|
||||
"PREFIX=$(out)"
|
||||
"MANDIR=$(man)/share/man"
|
||||
]
|
||||
++ lib.optionals xwaylandEnabled [
|
||||
''XWAYLAND="-DXWAYLAND"''
|
||||
''XLIBS="xcb xcb-icccm.pc"''
|
||||
];
|
||||
|
||||
# Ensure `crywl.desktop` entry is registered
|
||||
passthru = {
|
||||
providedSessions = [pname];
|
||||
|
||||
tests.version = pkgs.testers.testVersion {
|
||||
package = oldAttrs.finalPackage;
|
||||
# `dwl -v` emits its version string to stderr and returns 1
|
||||
command = "crywl -v 2>&1; return 0";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://forge.imbored.dev/emileclarkb/crywl";
|
||||
description = "Personal fork of DWL";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = [lib.maintainers.emileclarkb];
|
||||
inherit (pkgs.wayland.meta) platforms;
|
||||
mainProgram = "crywl";
|
||||
};
|
||||
});
|
||||
})
|
||||
];
|
||||
});
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{...}: {
|
||||
programs = {
|
||||
river.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
upkgs,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
|
|
@ -230,7 +230,7 @@ in {
|
|||
|
||||
home-manager = {
|
||||
users.me = import ../../homes/me;
|
||||
extraSpecialArgs = {inherit inputs pkgs pkgs-unstable;};
|
||||
extraSpecialArgs = {inherit inputs pkgs upkgs;};
|
||||
sharedModules = [];
|
||||
};
|
||||
|
||||
|
|
@ -379,7 +379,7 @@ in {
|
|||
|
||||
# Games
|
||||
prismlauncher # minecraft
|
||||
pkgs-unstable.olympus
|
||||
upkgs.olympus
|
||||
discord
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,17 @@
|
|||
{upkgs, ...}: {
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
ekphos = import ../packages/ekphos.nix {
|
||||
inherit upkgs;
|
||||
pkgs = super;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
[
|
||||
(self: super: {
|
||||
angry-oxide = import ../packages/angryoxide {
|
||||
pkgs = super;
|
||||
inherit
|
||||
(super)
|
||||
lib
|
||||
;
|
||||
};
|
||||
ekphos = import ../packages/ekphos {
|
||||
pkgs = super;
|
||||
};
|
||||
x86-manpages = import ../packages/x86-manpages {
|
||||
pkgs = super;
|
||||
};
|
||||
})
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
{
|
||||
pkgs,
|
||||
upkgs,
|
||||
...
|
||||
}: let
|
||||
{pkgs, ...}: let
|
||||
inherit
|
||||
(pkgs)
|
||||
lib
|
||||
;
|
||||
in
|
||||
upkgs.rustPackages.rustPlatform.buildRustPackage {
|
||||
pkgs.rustPackages.rustPlatform.buildRustPackage {
|
||||
pname = "ekphos";
|
||||
version = "v0.20.10";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue