many things

This commit is contained in:
Daylin Morgan 2024-01-23 19:13:42 -06:00
parent 2f8408fc08
commit 64f31f3080
Signed by: daylin
GPG Key ID: C1E52E7DD81DF79F
16 changed files with 166 additions and 164 deletions

View File

@ -18,7 +18,6 @@
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]
@ -239,7 +238,9 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs_2", "nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@ -259,7 +260,6 @@
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]
@ -280,16 +280,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1705856552, "lastModified": 1705883077,
"narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "narHash": "sha256-ByzHHX3KxpU1+V0erFy8jpujTufimh6KaS/Iv3AciHk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "rev": "5f5210aa20e343b7e35f40c033000db0ef80d7b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -313,7 +313,9 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"lib-aggregate": "lib-aggregate", "lib-aggregate": "lib-aggregate",
"nix-eval-jobs": "nix-eval-jobs", "nix-eval-jobs": [
"nix-eval-jobs"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@ -332,26 +334,11 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1703134684,
"narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d6863cbcbbb80e71cecfc03356db1cda38919523",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib", "hyprland-contrib": "hyprland-contrib",
"nix-eval-jobs": "nix-eval-jobs",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-wayland": "nixpkgs-wayland", "nixpkgs-wayland": "nixpkgs-wayland",
"wezterm": "wezterm" "wezterm": "wezterm"
@ -430,7 +417,6 @@
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]

View File

@ -2,9 +2,12 @@
description = "daylinmorgan-nixcfg"; description = "daylinmorgan-nixcfg";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs-wayland.inputs.nix-eval-jobs.follows = "nix-eval-jobs";
nix-eval-jobs.url = "github:nix-community/nix-eval-jobs";
nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/Hyprland/main"; hyprland.url = "github:hyprwm/Hyprland/main";
hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland.inputs.nixpkgs.follows = "nixpkgs";
hyprland-contrib.url = "github:hyprwm/contrib"; hyprland-contrib.url = "github:hyprwm/contrib";
@ -14,19 +17,6 @@
wezterm.inputs.nixpkgs.follows = "nixpkgs"; wezterm.inputs.nixpkgs.follows = "nixpkgs";
}; };
nixConfig = {
extra-substituters = [
"https://hyprland.cachix.org"
"https://nixpkgs-wayland.cachix.org"
"https://daylin.cachix.org"
];
extra-trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
"daylin.cachix.org-1:fLdSnbhKjtOVea6H9KqXeir+PyhO+sDSPhEW66ClE/k="
];
};
outputs = inputs @ { outputs = inputs @ {
self, self,
nixpkgs, nixpkgs,

View File

@ -11,7 +11,7 @@
nim.enable = true; nim.enable = true;
python.enable = true; python.enable = true;
}; };
cli.enable =true; cli.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
rclone rclone

View File

@ -6,7 +6,7 @@
}: { }: {
imports = with inputs.self.nixosModules; [ imports = with inputs.self.nixosModules; [
desktop desktop
# hyprland # hyprland
nix-ld nix-ld
virtualization virtualization

View File

@ -13,8 +13,8 @@ in rec {
nixosSystem { nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = modules =
[ ../modules/roles/common.nix ] ++ [../modules/roles/common.nix]
builtins.filter isNixFile (listFilesRecursive (../. + "/hosts/${hostname}")); ++ builtins.filter isNixFile (listFilesRecursive (../. + "/hosts/${hostname}"));
specialArgs = {inherit inputs;}; specialArgs = {inherit inputs;};
}; };

View File

@ -1,28 +1,28 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.cli; cfg = config.cli;
in in {
{
options.cli.enable = mkEnableOption "cli"; options.cli.enable = mkEnableOption "cli";
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.direnv.enable = true;
environment.systemPackages = with pkgs; [
chezmoi
zoxide
lsd
fzf
# utils
fd
bat
delta
ripgrep
programs.direnv.enable = true; btop
environment.systemPackages = with pkgs; [ ];
chezmoi };
zoxide
lsd
fzf
# utils
fd
bat
delta
ripgrep
btop
];
};
} }

View File

@ -1,5 +1,5 @@
{pkgs,...}:{ {pkgs, ...}: {
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];}) (nerdfonts.override {fonts = ["FiraCode"];})
]; ];

View File

@ -4,39 +4,35 @@
config, config,
lib, lib,
... ...
}: }: let
let
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = config.programs.hyprland; cfg = config.programs.hyprland;
in in {
{
config = mkIf cfg.enable { config = mkIf cfg.enable {
security.pam.services.swaylock = {};
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.default;
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
swaylock
brightnessctl
security.pam.services.swaylock = {}; # notifications
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.default; libnotify
# Optional, hint electron apps to use wayland: dunst
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
swaylock
brightnessctl
# notifications # screenshots
libnotify inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
dunst grim
slurp
# screenshots eww-wayland
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast rofi-wayland
grim hyprpaper
slurp
eww-wayland catppuccin-cursors.mochaDark
rofi-wayland pavucontrol
hyprpaper ];
nixpkgs.overlays = [inputs.nixpkgs-wayland.overlay];
catppuccin-cursors.mochaDark };
pavucontrol
];
nixpkgs.overlays = [inputs.nixpkgs-wayland.overlay];
};
} }

View File

@ -1,15 +1,17 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.languages.misc; cfg = config.languages.misc;
in in {
{
options.languages.misc.enable = mkEnableOption "go + rustup"; options.languages.misc.enable = mkEnableOption "go + rustup";
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [ go
go rustup
rustup ];
]; };
};
} }

View File

@ -1,23 +1,27 @@
{nixpkgs,config, lib,pkgs,...}: {
let nixpkgs,
config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.languages.nim; cfg = config.languages.nim;
in in {
{
options.languages.nim.enable = mkEnableOption "nim"; options.languages.nim.enable = mkEnableOption "nim";
config = mkIf cfg.enable { config = mkIf cfg.enable {
nixpkgs.overlays = [ nixpkgs.overlays = [
(import ../../overlays/nim {}) #(import ../../overlays/nim {})
(import ../../overlays/nimlsp {}) (import ../../overlays/nimlsp {})
(import ../../overlays/nimble {}) (import ../../overlays/nimble {})
(import ../../overlays/nim-atlas {}) (import ../../overlays/nim-atlas {})
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nim-atlas nim-atlas
nim nim
nimble nimble
nimlsp nimlsp
]; ];
}; };
} }

View File

@ -1,14 +1,17 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.languages.node; cfg = config.languages.node;
in in {
{
options.languages.node.enable = mkEnableOption "node"; options.languages.node.enable = mkEnableOption "node";
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nodejs nodejs
nodePackages.pnpm nodePackages.pnpm
]; ];
}; };
} }

View File

@ -1,27 +1,28 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.languages.python; cfg = config.languages.python;
in in {
{
options.languages.python.enable = mkEnableOption "python"; options.languages.python.enable = mkEnableOption "python";
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
# https://github.com/Mic92/nix-ld?tab=readme-ov-file#my-pythonnodejsrubyinterpreter-libraries-do-not-find-the-libraries-configured-by-nix-ld
(pkgs.writeShellScriptBin "python" ''
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
exec ${pkgs.python3}/bin/python "$@"
'')
environment.systemPackages = with pkgs; [ (pkgs.writeShellScriptBin "python3" ''
# https://github.com/Mic92/nix-ld?tab=readme-ov-file#my-pythonnodejsrubyinterpreter-libraries-do-not-find-the-libraries-configured-by-nix-ld export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
(pkgs.writeShellScriptBin "python" '' exec ${pkgs.python3}/bin/python "$@"
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH '')
exec ${pkgs.python3}/bin/python "$@"
'')
(pkgs.writeShellScriptBin "python3" '' (python3.withPackages (ps: with ps; [pip]))
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH micromamba
exec ${pkgs.python3}/bin/python "$@" ];
'') };
(python3.withPackages (ps: with ps; [pip]))
micromamba
];
};
} }

View File

@ -1,13 +1,16 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.languages.tex; cfg = config.languages.tex;
in in {
{
options.languages.tex.enable = mkEnableOption "tex"; options.languages.tex.enable = mkEnableOption "tex";
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
texlive.combined.scheme-full texlive.combined.scheme-full
]; ];
}; };
} }

View File

@ -16,14 +16,28 @@
nix.gc = { nix.gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 30d"; options = "--delete-older-than 7d";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nix-output-monitor nix-output-monitor
alejandra alejandra
]; ];
nix.settings = { nix.settings = {
trusted-users = ["daylin"]; trusted-users = ["@wheel"];
accept-flake-config = true;
# nixConfig = {
substituters = [
"https://hyprland.cachix.org"
"https://nixpkgs-wayland.cachix.org"
"https://daylin.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
"daylin.cachix.org-1:fLdSnbhKjtOVea6H9KqXeir+PyhO+sDSPhEW66ClE/k="
];
}; };
} }

View File

@ -7,7 +7,6 @@
./lock ./lock
]; ];
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver = { services.xserver = {
enable = true; enable = true;

View File

@ -1,5 +1,9 @@
{config, lib,pkgs,...}: {
let config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.services.vpn; cfg = config.services.vpn;
in { in {