Compare commits
10
Commits
ded6559afe
...
00446ffcde
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00446ffcde | ||
|
|
fcb1e76707 | ||
|
|
fdf9663aba | ||
|
|
a9e52c9857 | ||
|
|
e9ec2199d5 | ||
|
|
84fadc9373 | ||
|
|
2a09b73a9a | ||
|
|
835c534e58 | ||
|
|
48ccdf5d53 | ||
|
|
b7bea57e2c |
Generated
+9
-9
@@ -102,11 +102,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1789386765,
|
||||
"narHash": "sha256-4hyLFBhzQC7+qPMELWc7J/sbdA6ckXZxXU9CYRsGhsc=",
|
||||
"lastModified": 1790010537,
|
||||
"narHash": "sha256-rsDlQDQkCVnSkEfDTWlaFjp7vpke5taFkeTseT7DUxQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "87c391f49a34660de6010f35bb50fb1bf811be9f",
|
||||
"rev": "a6c231d51f2a434e164020eae31de96ca0a56d65",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -174,11 +174,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1789286504,
|
||||
"narHash": "sha256-eiEK7cKZORNEvX0GeF3RtNEF/JXhgf2RqSp3230q13E=",
|
||||
"lastModified": 1789921291,
|
||||
"narHash": "sha256-Ft/BRnIqw1MywFoXydKobjjWmDFgDdYtSpJliE8+yUw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ef34387ddd751e1ab8857adf4676492d32eb24ec",
|
||||
"rev": "44a91898084f46797b5fac650c7e8c9ac38c43d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -222,11 +222,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1788914643,
|
||||
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
|
||||
"lastModified": 1789890976,
|
||||
"narHash": "sha256-GKwH3zpy7tartuJMG0Rv/xUsdetG1QLmTVv8UKgJLmA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
|
||||
"rev": "7214124c20c1542c90deb54af50e2f53ae02711f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||
home-manager.sharedModules = [
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
imports = [
|
||||
];
|
||||
home.username = "mask";
|
||||
home.homeDirectory = "/home/mask";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||
# # overrides. You can do that directly here, just don't forget the
|
||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||
# # fonts?
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
# # environment:
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file = {
|
||||
".config/nvim".source = ../dotfiles/nvim;
|
||||
".config/hypr".source = ../dotfiles/hypr;
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shell = "${pkgs.zsh}/bin/zsh";
|
||||
};
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font_family = "Hack Nerd Font Mono";
|
||||
font_size = "";
|
||||
bold_font = "auto";
|
||||
italic_font = "auto";
|
||||
bold_italic_font = "auto";
|
||||
};
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
dogma-rebuild = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#$(hostname)";
|
||||
dogma-rebuild-nixos = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-nixos";
|
||||
dogma-rebuild-rtx = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-nixos-rtx";
|
||||
dogma-rebuild-wsl = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-wsl";
|
||||
cdproj = "cd ${config.home.homeDirectory}/projects/nixos-dogma";
|
||||
working = "echo aaa";
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. If you don't want to manage your shell
|
||||
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||
# located at either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/mask/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
|
||||
home.sessionVariables = {
|
||||
SOPS_EDITOR = "nvim";
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
TEST = "test";
|
||||
TEST_A = "testa";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
|
||||
sops = {
|
||||
age.keyFile = "/home/mask/.config/sops/age/keys.txt";
|
||||
defaultSopsFile = ../secrets/secrets.yaml;
|
||||
secrets = {
|
||||
"github/token" = {};
|
||||
"github/username" = {};
|
||||
"gitlab/token" = {};
|
||||
"gitea/token" = {};
|
||||
"gitea/password" = {};
|
||||
"gitea/username" = {};
|
||||
};
|
||||
templates = {
|
||||
".git-credentials" = {
|
||||
path = "${config.home.homeDirectory}/.git-credentials";
|
||||
mode = "0600";
|
||||
content = ''
|
||||
https://${config.sops.placeholder."gitea/username"}:${config.sops.placeholder."gitea/token"}@git.centraldogma.site
|
||||
https://${config.sops.placeholder."github/username"}:${config.sops.placeholder."github/token"}@github.com
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
name = "Jordan Ashurst";
|
||||
email = "ashurstdev@proton.me";
|
||||
};
|
||||
alias = {
|
||||
#Add and commit
|
||||
ac = "!git add $1 && git commit -m $2";
|
||||
};
|
||||
# credential-helper = {
|
||||
#
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
git
|
||||
curl
|
||||
ripgrep
|
||||
fd
|
||||
gcc
|
||||
gnumake
|
||||
unzip
|
||||
wget
|
||||
];
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{...}: {
|
||||
imports = [./common.nix];
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{...}: {
|
||||
imports = [./common.nix];
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
imports = [./common.nix];
|
||||
|
||||
# Headless WSL overrides: disable GUI apps
|
||||
programs.kitty.enable = lib.mkForce false;
|
||||
}
|
||||
@@ -1,8 +1,14 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./mounts.nix
|
||||
./samba.nix
|
||||
./network.nix
|
||||
../common/default.nix
|
||||
../common/desktop.nix
|
||||
../common/server.nix
|
||||
@@ -14,4 +20,9 @@
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.systemd-boot.configurationLimit = 30;
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
# hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# nvidiaSettings = true;
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
|
||||
# };
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -1,57 +0,0 @@
|
||||
{
|
||||
fileSystems = {
|
||||
"/mnt/games" = {
|
||||
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"users"
|
||||
"compress=zstd"
|
||||
"subvol=@games"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
"/mnt/photo" = {
|
||||
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"users"
|
||||
"compress=zstd"
|
||||
"subvol=@Pictures"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/media" = {
|
||||
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"users"
|
||||
"compress=zstd"
|
||||
"subvol=@media"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/winbackup" = {
|
||||
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"users"
|
||||
"compress=zstd"
|
||||
"subvol=@winbackup"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
"/mnt/winhdd" = {
|
||||
device = "/dev/sdb1";
|
||||
fsType = "ntfs";
|
||||
options = [
|
||||
"users"
|
||||
"windows_names"
|
||||
"noatime"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
hardware.graphics.enable = true;
|
||||
hardware.nvidia = {
|
||||
@@ -7,7 +12,7 @@
|
||||
powerManagement.finegrained = false;
|
||||
open = false; # Pascal (GTX 1060) requires closed driver
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
|
||||
};
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
}
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
services.samba = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
global = {
|
||||
"security" = "user";
|
||||
"workgroup" = "WORKGROUP";
|
||||
"server string" = "smbnix";
|
||||
"netbios name" = "smbnix";
|
||||
#"use sendfile" = "yes";
|
||||
#"max protocol" = "smb2";
|
||||
# note: localhost is the ipv6 localhost ::1
|
||||
"hosts allow" = "192.168.1.1/24 127.0.0.1 localhost";
|
||||
"guest account" = "nobody";
|
||||
"map to guest" = "bad user";
|
||||
};
|
||||
|
||||
"games" = {
|
||||
"path" = "/mnt/games";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
|
||||
"media" = {
|
||||
"path" = "/mnt/media";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
|
||||
"photos" = {
|
||||
"path" = "/mnt/photo";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
|
||||
"winhdd" = {
|
||||
"path" = "/mnt/winhdd";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
|
||||
"winback" = {
|
||||
"path" = "/mnt/winbackup";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [pkgs.samba];
|
||||
}
|
||||
Reference in New Issue
Block a user