Compare commits
No commits in common. "de8c6e1327ab8c6c8b649bb3293acd3b422fb456" and "6626767ef2f3d76c513a1ad06445f82c396bf793" have entirely different histories.
de8c6e1327
...
6626767ef2
23 changed files with 426 additions and 486 deletions
|
@ -1,23 +1,24 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
devShells.idris2 = let
|
||||
}:
|
||||
{
|
||||
devShells.idris2 =
|
||||
let
|
||||
libPackages = with pkgs; [
|
||||
readline70
|
||||
openssl
|
||||
];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs;
|
||||
buildInputs =
|
||||
with pkgs;
|
||||
[
|
||||
# Idris toolchain
|
||||
inputs'.nixpkgs-unstable.legacyPackages.idris2Packages.pack
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
devShells.markdown = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
(python3.withPackages (ps:
|
||||
with ps; [
|
||||
mdformat
|
||||
mdformat-gfm
|
||||
mdformat-tables
|
||||
mdformat-footnote
|
||||
]))
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,16 +1,16 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
devShells.raku = let
|
||||
}:
|
||||
{
|
||||
devShells.raku =
|
||||
let
|
||||
rakudo_env = pkgs.buildEnv {
|
||||
name = "rakudo-env";
|
||||
paths = with pkgs; [
|
||||
|
@ -26,7 +26,8 @@
|
|||
libPackages = with pkgs; [ readline70 ];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs;
|
||||
buildInputs =
|
||||
with pkgs;
|
||||
[
|
||||
# Raku toolchain
|
||||
rakudo_env
|
||||
|
|
|
@ -1,13 +1,8 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
devShells.rust = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
# Rust toolchain
|
||||
|
|
15
flake.nix
15
flake.nix
|
@ -20,11 +20,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
flake-parts,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
outputs =
|
||||
inputs@{ flake-parts, self, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
imports = [
|
||||
inputs.devshell.flakeModule
|
||||
|
@ -36,7 +33,6 @@
|
|||
./devshells/rust.nix
|
||||
./devshells/idris2.nix
|
||||
./devshells/raku.nix
|
||||
./devshells/markdown.nix
|
||||
];
|
||||
config = {
|
||||
systems = [
|
||||
|
@ -45,14 +41,16 @@
|
|||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
perSystem = {
|
||||
perSystem =
|
||||
{
|
||||
config,
|
||||
self',
|
||||
inputs',
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# Per-system attributes can be defined here. The self' and inputs'
|
||||
# module parameters provide easy access to attributes of the same
|
||||
# system.
|
||||
|
@ -67,6 +65,7 @@
|
|||
type = types.lazyAttrsOf types.raw;
|
||||
default = { };
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# perSystem = { ... }: { config.packages.hello = ...; };
|
||||
|
||||
flake.homeConfigurations.crash = withSystem "x86_64-linux" (
|
||||
ctx @ {
|
||||
config,
|
||||
inputs',
|
||||
...
|
||||
}:
|
||||
ctx@{ config, inputs', ... }:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${"x86_64-linux"};
|
||||
extraSpecialArgs = {
|
||||
|
@ -24,7 +17,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../modules/programs/shell.nix
|
||||
../../modules/programs/neovim.nix
|
||||
|
@ -48,15 +42,10 @@
|
|||
# Machine specific configuration
|
||||
services.emacs.defaultEditor = true;
|
||||
|
||||
systemd.user = {
|
||||
targets.tray = {
|
||||
systemd.user.targets.tray = {
|
||||
Unit = {
|
||||
Description = "Home Manager System Tray";
|
||||
Requires = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
services.syncthingtray = {
|
||||
Service.ExecStart = lib.mkForce "${pkgs.syncthingtray}/bin/syncthingtray --wait";
|
||||
Requires = [ "graphical-session-pre.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# perSystem = { ... }: { config.packages.hello = ...; };
|
||||
|
||||
flake.homeConfigurations.wsl = withSystem "x86_64-linux" (
|
||||
ctx @ {
|
||||
config,
|
||||
inputs',
|
||||
...
|
||||
}:
|
||||
ctx@{ config, inputs', ... }:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${"x86_64-linux"};
|
||||
extraSpecialArgs = {
|
||||
|
@ -24,7 +17,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../modules/programs/shell.nix
|
||||
../../modules/programs/neovim.nix
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# Rust rewrites of cli stuff
|
||||
fd
|
||||
|
@ -39,10 +41,7 @@
|
|||
aggressiveResize = true;
|
||||
keyMode = "vi";
|
||||
shortcut = "x";
|
||||
terminal =
|
||||
if pkgs.stdenv.isLinux
|
||||
then "tmux-256color"
|
||||
else "screen-256color";
|
||||
terminal = if pkgs.stdenv.isLinux then "tmux-256color" else "screen-256color";
|
||||
escapeTime = 100;
|
||||
plugins = with pkgs; [
|
||||
tmuxPlugins.cpu
|
||||
|
@ -57,4 +56,5 @@
|
|||
};
|
||||
programs.btop.enable = true;
|
||||
programs.jq.enable = true;
|
||||
|
||||
}
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
pkgs,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# Communications
|
||||
webcord-vencord
|
||||
|
@ -25,4 +27,5 @@
|
|||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# Git addons
|
||||
git-secret
|
||||
|
@ -14,10 +15,6 @@
|
|||
nix-du
|
||||
sops
|
||||
hut
|
||||
# Markdown
|
||||
cmark-gfm
|
||||
pandoc
|
||||
mdbook
|
||||
];
|
||||
programs = {
|
||||
direnv.enable = true;
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
{emacsPackage ? null}: {
|
||||
{
|
||||
emacsPackage ? null,
|
||||
}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
myAspell = pkgs.aspellWithDicts (d: [
|
||||
d.en
|
||||
d.en-science
|
||||
d.en-computers
|
||||
]);
|
||||
emacsPackage' =
|
||||
if emacsPackage == null
|
||||
then pkgs.emacs29-pgtk
|
||||
else emacsPackage;
|
||||
in {
|
||||
emacsPackage' = if emacsPackage == null then pkgs.emacs29-pgtk else emacsPackage;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# For markdown rendering
|
||||
python312Packages.grip
|
||||
|
@ -54,16 +56,15 @@ in {
|
|||
programs.emacs = {
|
||||
enable = true;
|
||||
package = emacsPackage';
|
||||
extraPackages = epkgs:
|
||||
with pkgs; [
|
||||
extraPackages =
|
||||
epkgs: with pkgs; [
|
||||
epkgs.mu4e
|
||||
epkgs.vterm
|
||||
epkgs.pdf-tools
|
||||
epkgs.emacsql
|
||||
epkgs.emacsql-sqlite
|
||||
(tree-sitter.withPlugins (
|
||||
grammars:
|
||||
with grammars; [
|
||||
grammars: with grammars; [
|
||||
tree-sitter-nix
|
||||
tree-sitter-rust
|
||||
tree-sitter-toml
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{
|
||||
gitUserName ? "Nathan McCarty",
|
||||
gitUserEmail ? "thatonelutenist@stranger.systems",
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./nushell/config.nu;
|
||||
|
@ -62,4 +64,5 @@
|
|||
};
|
||||
|
||||
programs.fzf.enable = true;
|
||||
|
||||
}
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
programs.ssh = {
|
||||
# SSH configuration
|
||||
enable = true;
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
];
|
||||
|
||||
# Setup nixbuild.net, since this laptop is somewhat under powered
|
||||
programs.ssh.extraConfig = ''
|
||||
Host eu.nixbuild.net
|
||||
PubkeyAcceptedKeyTypes ssh-ed25519
|
||||
|
@ -17,6 +15,7 @@
|
|||
IPQoS throughput
|
||||
IdentityFile /home/nathan/.ssh/id_ed25519
|
||||
'';
|
||||
|
||||
programs.ssh.knownHosts = {
|
||||
nixbuild = {
|
||||
hostNames = [ "eu.nixbuild.net" ];
|
||||
|
@ -24,20 +23,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
# Configure nix
|
||||
nix = {
|
||||
settings = {
|
||||
# Auto optimize the store after every action
|
||||
auto-optimise-store = true;
|
||||
trusted-users = [
|
||||
"root"
|
||||
"nathan"
|
||||
];
|
||||
};
|
||||
# GC agressively
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "daily";
|
||||
dates = "hourly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
distributedBuilds = true;
|
||||
|
@ -54,30 +50,9 @@
|
|||
];
|
||||
};
|
||||
|
||||
# Bootloader and plymouth
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
plymouth = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Steam setup
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
args = [
|
||||
"--expose-wayland"
|
||||
];
|
||||
};
|
||||
};
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "crash"; # Define your hostname.
|
||||
|
||||
|
@ -186,4 +161,5 @@
|
|||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
|
@ -7,7 +7,9 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# perSystem = { ... }: { config.packages.hello = ...; };
|
||||
|
||||
flake.nixosConfigurations.crash = withSystem "x86_64-linux" (
|
||||
ctx @ {
|
||||
config,
|
||||
inputs',
|
||||
...
|
||||
}:
|
||||
ctx@{ config, inputs', ... }:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
# Expose `packages`, `inputs` and `inputs'` as module arguments.
|
||||
# Use specialArgs permits use in `imports`.
|
||||
|
@ -27,7 +20,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Hardware support
|
||||
inputs.nixos-hardware.nixosModules.microsoft-surface-common
|
||||
|
@ -45,6 +40,7 @@
|
|||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
}
|
||||
)
|
||||
];
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# perSystem = { ... }: { config.packages.hello = ...; };
|
||||
|
||||
flake.nixosConfigurations.inst = withSystem "x86_64-linux" (
|
||||
ctx @ {
|
||||
config,
|
||||
inputs',
|
||||
...
|
||||
}:
|
||||
ctx@{ config, inputs', ... }:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
# Expose `packages`, `inputs` and `inputs'` as module arguments.
|
||||
# Use specialArgs permits use in `imports`.
|
||||
|
@ -27,12 +20,15 @@
|
|||
(
|
||||
# NixOS-WSL specific options are documented on the NixOS-WSL repository:
|
||||
# https://github.com/nix-community/NixOS-WSL
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
{ withSystem, inputs, ... }:
|
||||
{
|
||||
withSystem,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
# perSystem = { ... }: { config.packages.hello = ...; };
|
||||
|
||||
flake.nixosConfigurations.wsl = withSystem "x86_64-linux" (
|
||||
ctx @ {
|
||||
config,
|
||||
inputs',
|
||||
...
|
||||
}:
|
||||
ctx@{ config, inputs', ... }:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
# Expose `packages`, `inputs` and `inputs'` as module arguments.
|
||||
# Use specialArgs permits use in `imports`.
|
||||
|
@ -24,12 +17,15 @@
|
|||
(
|
||||
# NixOS-WSL specific options are documented on the NixOS-WSL repository:
|
||||
# https://github.com/nix-community/NixOS-WSL
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# WSL support
|
||||
inputs.nixos-wsl.nixosModules.default
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
{inputs}: {
|
||||
{ inputs }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
@ -17,7 +20,7 @@
|
|||
neovim
|
||||
git
|
||||
tmux
|
||||
alejandra
|
||||
nixfmt-rfc-style
|
||||
nix-index
|
||||
];
|
||||
|
||||
|
|
|
@ -3,12 +3,15 @@
|
|||
mutableUsers ? false,
|
||||
username ? "nathan",
|
||||
homedir ? "/home/nathan",
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
|
||||
{
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
};
|
||||
|
@ -27,5 +30,6 @@
|
|||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEtE+KjKuHUj5bKKQBDKqhO5dpEQf8E8u1G6kRj7y6dI nathan@nixos"
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue