chore: update lock file

This commit is contained in:
Artur Manuel 2024-10-29 15:37:11 +00:00
commit 0226353025
17 changed files with 425 additions and 86 deletions

View file

@ -0,0 +1,16 @@
{pkgs, ...}: let
ezaOptions = "--colour=always --icons=never --group-directories-first --octal-permissions";
in {
config = {
environment = {
shellAliases = builtins.mapAttrs (_: v: "${v} ${ezaOptions}") {
l = "eza -alh";
ls = "eza";
ll = "eza -l";
};
systemPackages = [
pkgs.eza
];
};
};
}

View file

@ -7,5 +7,10 @@
./pipewire.nix ./pipewire.nix
./mpd.nix ./mpd.nix
./fonts.nix ./fonts.nix
./emacs.nix
./ssh.nix
./direnv.nix
./xonsh.nix
./aliases.nix
]; ];
} }

View file

@ -0,0 +1,23 @@
{
config,
lib,
...
}: let
cfg = config.alqueva.direnv;
in {
options.alqueva.direnv = {
enable = lib.mkEnableOption "direnv";
};
config = lib.mkIf cfg.enable {
programs.direnv = {
enable = true;
silent = true;
nix-direnv.enable = true;
direnvrcExtra = ''
echo "direnv version: ${config.programs.direnv.package.version}"
echo "shell version: ${config.users.defaultUserShell.pname} ${config.users.defaultUserShell.version}"
'';
};
};
}

View file

@ -0,0 +1,19 @@
{
config,
pkgs,
lib,
inputs,
...
}: let
cfg = config.alqueva.emacs;
in {
options.alqueva.emacs = {
enable = lib.mkEnableOption "Emacs";
};
config = lib.mkIf cfg.enable {
environment = {
systemPackages = [inputs.pankomacs.packages.${pkgs.system}.pankomacs];
sessionVariables."EDITOR" = "emacs";
};
};
}

View file

@ -1,5 +1,6 @@
{ {
config, config,
pkgs,
lib, lib,
... ...
}: let }: let
@ -9,13 +10,28 @@ in {
enable = lib.mkEnableOption "fish"; enable = lib.mkEnableOption "fish";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.fish = { programs = {
vendor = { fish = {
functions.enable = true; vendor = {
config.enable = true; functions.enable = true;
completions.enable = true; config.enable = true;
completions.enable = true;
};
enable = true;
}; };
enable = true; starship = {
enable = true;
presets = ["no-nerd-font"];
};
};
environment.systemPackages = builtins.attrValues {
inherit
(pkgs.fishPlugins)
fzf-fish
forgit
autopair
;
}; };
}; };
} }

View file

@ -6,53 +6,45 @@
}: let }: let
cfg = config.alqueva.fonts; cfg = config.alqueva.fonts;
inherit (lib) types mkOption; inherit (lib) types mkOption;
fontSubmodule = fontPackages: fontNames: { mkStringsOption = default: letterform:
options = {
packages = mkOption {
type = types.listOf types.package;
default = fontPackages;
description = "Package of the font used.";
};
names = mkOption {
type = types.listOf types.str;
default = fontNames;
description = "Name of the default font you will be using.";
};
};
};
mkFontOption = fontType: fontPackages: fontNames:
mkOption { mkOption {
type = types.submodule (fontSubmodule fontPackages fontNames); type = types.listOf types.str;
description = "Options for the ${fontType} letterform."; inherit default;
description = "Which ${letterform} font packages you want to use.";
}; };
in { in {
options.alqueva.fonts = { options.alqueva.fonts = {
enable = mkEnableOption "" // {description = "Whether you want to use this fonts module.";}; enable = lib.mkEnableOption "" // {description = "Whether you want to use this fonts module.";};
sansSerif = mkFontOption "sans-serif" [pkgs.roboto] ["Roboto"]; packages = mkOption {
monospace = mkFontOption "monospace" [pkgs.roboto-mono] ["Roboto Mono"];
serif = mkFontOption "serif" [pkgs.roboto-serif] ["Roboto Serif"];
emoji = mkFontOption "emoji" [pkgs.noto-fonts-color-emoji] ["Noto Color Emoji"];
extraPackages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = []; default = [pkgs.roboto pkgs.roboto-serif pkgs.roboto-mono pkgs.noto-fonts-color-emoji];
description = "Extra font packages to be installed."; description = "Packages related to fonts to be installed.";
};
names = builtins.mapAttrs (_n: v: mkStringsOption v.default v.letterform) {
sansSerif = {
default = ["Roboto"];
letterform = "sans-serif";
};
monospace = {
default = ["Roboto Mono"];
letterform = "monospace";
};
serif = {
default = ["Roboto Serif"];
letterform = "serif";
};
emoji = {
default = ["Noto Color Emoji"];
letterform = "emoji";
};
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
fonts = { fonts = {
packages = builtins.concatLists [ inherit (cfg) packages;
cfg.extraPackages
cfg.sansSerif.packages
cfg.monospace.packages
cfg.serif.packages
cfg.emoji.packages
];
fontconfig = { fontconfig = {
defaultFonts = { defaultFonts = {
sansSerif = cfg.sansSerif.names; inherit (cfg.names) sansSerif monospace serif emoji;
monospace = cfg.monospace.names;
serif = cfg.serif.names;
emoji = cfg.emoji.names;
}; };
enable = true; enable = true;
}; };

View file

@ -18,6 +18,7 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.mpd.enable = true; services.mpd.enable = true;
environment.systemPackages = environment.systemPackages =
lib.optional cfg.ncmpcpp pkgs.ncmpcpp; [pkgs.mpd]
++ lib.optional cfg.ncmpcpp pkgs.ncmpcpp;
}; };
} }

View file

@ -14,6 +14,7 @@ in {
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
jack.enable = true;
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
}; };

View file

@ -12,9 +12,7 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [
(pkgs.qutebrowser-qt5.override { pkgs.qutebrowser
enableVulkan = true;
})
]; ];
}; };
} }

16
computers/shared/ssh.nix Normal file
View file

@ -0,0 +1,16 @@
{
config,
lib,
...
}: let
cfg = config.alqueva.openssh;
in {
options.alqueva.openssh = {
enable = lib.mkEnableOption "OpenSSH";
};
config = lib.mkIf cfg.enable {
programs.ssh.enableAskPassword = true;
services.openssh.enable = true;
};
}

View file

@ -0,0 +1,63 @@
{
config,
pkgs,
lib,
...
}: let
cfg = config.alqueva.xonsh;
inherit (pkgs) fetchFromGitHub;
in {
options.alqueva.xonsh = {
enable = lib.mkEnableOption "xonsh";
};
config = lib.mkIf cfg.enable {
programs = {
xonsh = {
config =
"from xonsh.xontribs import get_xontribs\n"
+ lib.concatStringsSep "\n" (builtins.attrValues (builtins.mapAttrs (n: v: "aliases['${n}'] = '${v}'\n") config.environment.shellAliases))
+ ''
for $xontrib in get_xontribs():
xontrib load $xontrib
execx($(zoxide init xonsh --cmd j), 'exec', __xonsh__.ctx, filename='zoxide')
'';
package = pkgs.xonsh.override {
extraPackages = ps: [
(let
name = "xontrib-fish-completer";
version = "0.0.1";
in
ps.buildPythonPackage {
inherit name version;
src = fetchFromGitHub {
owner = "xonsh";
repo = name;
rev = version;
hash = "sha256-PhhdZ3iLPDEIG9uDeR5ctJ9zz2+YORHBhbsiLrJckyA=";
};
})
(let
name = "xontrib-prompt-bar";
version = "0.5.8";
in
ps.buildPythonPackage {
inherit name version;
src = fetchFromGitHub {
owner = "anki-code";
repo = name;
rev = version;
hash = "sha256-n80XDApfoUJQORSzIY1FACLeL++HKmIxcz4MAeQ3CZ0=";
};
})
];
};
enable = true;
};
};
environment.systemPackages = [
pkgs.zoxide
];
};
}

View file

@ -16,17 +16,14 @@
}; };
services = { services = {
desktopManager.plasma6 = {
enable = true;
enableQt5Integration = false;
notoPackage = pkgs.noto-fonts-lgc-plus;
};
xserver.xkb = { xserver.xkb = {
layout = "us"; layout = "us";
options = "eurosign:e,ctrl:nocaps"; options = "eurosign:e,ctrl:nocaps";
}; };
desktopManager.plasma6 = {
enable = true;
enableQt5Integration = false;
};
libinput.enable = true; libinput.enable = true;
openssh.enable = true; openssh.enable = true;
}; };
@ -44,28 +41,39 @@
deadnix deadnix
alejandra alejandra
wget wget
vesktop
nicotine-plus
mpv
imv
wl-clipboard
; ;
}; };
alqueva = { alqueva = {
sddm.enable = true;
git.enable = true;
qutebrowser.enable = true;
pipewire.enable = true;
mpd = { mpd = {
enable = true; enable = true;
ncmpcpp = true; ncmpcpp = true;
}; };
fonts = { fonts = {
sansSerif = {}; names = {
monospace = {}; sansSerif = ["Fairfax SM"];
serif = {}; monospace = ["Fairfax SM"];
emoji = {}; serif = ["Fairfax SM"];
extraPackages = [ };
pkgs.nerdfonts packages = [
(pkgs.nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
pkgs.fairfax
pkgs.font-awesome
]; ];
enable = true; enable = true;
}; };
sddm.enable = true;
emacs.enable = true;
git.enable = true;
qutebrowser.enable = true;
pipewire.enable = true;
openssh.enable = true;
direnv.enable = true;
}; };
programs.neovim.enable = true; programs.neovim.enable = true;

188
flake.lock generated
View file

@ -1,15 +1,35 @@
{ {
"nodes": { "nodes": {
"astal": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1730210962,
"narHash": "sha256-qQ5Inu3T/cKteV46wTvw+ONWi32pbDZ7DIC59N561nk=",
"owner": "aylur",
"repo": "astal",
"rev": "8705ab494f448c508c43c4272b501a3f3bdbac70",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1729099656, "lastModified": 1730190761,
"narHash": "sha256-VftVIg7UXTy1bq+tzi1aVYOWl7PQ35IpjW88yMYjjpc=", "narHash": "sha256-o5m5WzvY6cGIDupuOvjgNSS8AN6yP2iI9MtUC6q/uos=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "d7d57edb72e54891fa67a6f058a46b2bb405663b", "rev": "3979285062d6781525cded0f6c4ff92e71376b55",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -18,6 +38,29 @@
"type": "github" "type": "github"
} }
}, },
"emacs": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"pankomacs",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1724951607,
"narHash": "sha256-cOCOZOilbAtW29FaYZEP/K/Tf8E6VeWGrKJlK+GRe2M=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "33812cad36ad7826d7eb9bd72eb11995be20cff6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -54,6 +97,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks-nix": { "git-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -128,6 +189,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1724727824,
"narHash": "sha256-0XH9MJk54imJm+RHOLTUJ7e+ponLW00tw5ke4MTVa1Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "36bae45077667aff5720e5b3f1a5458f51cf0776",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1719082008, "lastModified": 1719082008,
@ -146,11 +223,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1728888510, "lastModified": 1729880355,
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -161,6 +238,22 @@
} }
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": {
"lastModified": 1724748588,
"narHash": "sha256-NlpGA4+AIf1dKNq76ps90rxowlFXUsV9x7vK/mN37JM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a6292e34000dc93d43bccf78338770c1c5ec8a99",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1725103162, "lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
@ -176,12 +269,76 @@
"type": "github" "type": "github"
} }
}, },
"pankomacs": {
"inputs": {
"emacs": "emacs",
"nixpkgs": "nixpkgs_4",
"parts": "parts"
},
"locked": {
"lastModified": 1729519091,
"narHash": "sha256-fGkNTncOHLQZGcblqUPdoXyeEXuDDNWUa4K3e51n98E=",
"ref": "refs/heads/main",
"rev": "ba6a74607fc16833e18239232e8f10fcc8c78314",
"revCount": 68,
"type": "git",
"url": "https://codeberg.org/amadaluzia/pankomacs.git"
},
"original": {
"type": "git",
"url": "https://codeberg.org/amadaluzia/pankomacs.git"
}
},
"parts": {
"inputs": {
"nixpkgs-lib": [
"pankomacs",
"nixpkgs"
]
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1730157521,
"narHash": "sha256-xyodl47NDih2SEYbRkAvv6lPbjjA/E9B0TlCLnGIFa8=",
"ref": "refs/heads/master",
"rev": "4e48c6eefb399abfcdefbe046a6a642bdcfcc1a6",
"revCount": 358,
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
}
},
"root": { "root": {
"inputs": { "inputs": {
"astal": "astal",
"disko": "disko", "disko": "disko",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix", "git-hooks-nix": "git-hooks-nix",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"pankomacs": "pankomacs",
"quickshell": "quickshell",
"wallpkgs": "wallpkgs" "wallpkgs": "wallpkgs"
} }
}, },
@ -200,10 +357,25 @@
"type": "github" "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"
}
},
"wallpkgs": { "wallpkgs": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"systems": "systems" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1728261155, "lastModified": 1728261155,

View file

@ -28,6 +28,18 @@
owner = "notashelf"; owner = "notashelf";
repo = "wallpkgs"; repo = "wallpkgs";
}; };
astal = {
type = "github";
owner = "aylur";
repo = "astal";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
type = "git";
url = "https://git.outfoxxed.me/quickshell/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
pankomacs.url = "git+https://codeberg.org/amadaluzia/pankomacs.git";
}; };
outputs = inputs @ { outputs = inputs @ {
nixpkgs, nixpkgs,

View file

@ -14,7 +14,7 @@
inputs.self.nixosModules.default inputs.self.nixosModules.default
({config, ...}: { ({config, ...}: {
config = { config = {
alqueva.fish.enable = true; alqueva.xonsh.enable = true;
nix = { nix = {
settings.extra-experimental-features = [ settings.extra-experimental-features = [
"nix-command" "nix-command"
@ -25,15 +25,12 @@
dates = "weekly"; dates = "weekly";
}; };
}; };
users = { users.users.${user} = {
users.${user} = { isNormalUser = true;
isNormalUser = true; shell = config.programs.xonsh.package;
useDefaultShell = true; initialPassword = "password";
initialPassword = "password"; extraGroups = ["wheel" "networkmanager" "video" "audio" "input" "libvirtd"];
extraGroups = ["wheel" "networkmanager" "video" "audio" "input" "libvirtd"]; name = user;
name = user;
};
defaultUserShell = config.programs.fish.package;
}; };
environment.shellAliases = { environment.shellAliases = {
rebs = "nixos-rebuild --use-remote-sudo switch --flake .#${host}"; rebs = "nixos-rebuild --use-remote-sudo switch --flake .#${host}";

View file

@ -21,7 +21,7 @@
}; };
packages = { packages = {
inherit (pkgs) i-found-my-sddm-theme fairfax; inherit (pkgs) i-found-my-sddm-theme fairfax xonsh;
}; };
}; };
} }

View file

@ -4,14 +4,14 @@
lib, lib,
}: }:
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "fairfaxHD"; pname = "fairfax";
version = "20240601"; version = "20240601";
src = lib.cleanSourceWith { src = lib.cleanSourceWith {
filter = _path: type: type == "regular"; filter = _path: type: type == "regular";
src = fetchzip { src = fetchzip {
url = "https://github.com/kreativekorp/open-relay/releases/download/2024-06-01/FairfaxHD.zip"; url = "https://github.com/kreativekorp/open-relay/releases/download/2024-06-01/Fairfax.zip";
hash = "sha256-kwdpWFOYhXt0HNqfWP3EeKYhJWgKsRs7cAbzHEasM80="; hash = "sha256-rUl/C250pJBal69ThtWhPMFe182nnZmk5UUA7eDrZeA=";
stripRoot = true; stripRoot = false;
}; };
}; };
installPhase = '' installPhase = ''