More nix modules
This commit is contained in:
parent
4f0185bc89
commit
4e807b5759
97
env/nix/machines/third.nix
vendored
97
env/nix/machines/third.nix
vendored
|
@ -1,96 +1,17 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
imports = [
|
||||
../profiles/laptop.nix
|
||||
../modules/systemd-boot-efi.nix
|
||||
../modules/intel.nix
|
||||
../modules/docker.nix
|
||||
../modules/network-manager.nix
|
||||
../modules/bluetooth.nix
|
||||
../modules/pulseaudio.nix
|
||||
../modules/de/sway.nix
|
||||
../modules/users/daniel.nix
|
||||
../modules/users/valerie.nix
|
||||
];
|
||||
|
||||
networking.hostName "third.lyte.dev";
|
||||
|
||||
fonts.fonts = with pkgs; [ iosevka ];
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
# extraConfig = "
|
||||
# load-module module-switch-on-connect
|
||||
# ";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
};
|
||||
|
||||
networking.hostName = "third.lyte.dev";
|
||||
networking.firewall.enable = false;
|
||||
|
||||
sound.enable = true;
|
||||
|
||||
users.users.daniel = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" ];
|
||||
shell = pkgs.fish;
|
||||
home = "/home/daniel/.home";
|
||||
packages = with pkgs; [
|
||||
steam
|
||||
pulsemixer
|
||||
file
|
||||
appimage-run
|
||||
kitty
|
||||
sway waybar mako wl-clipboard
|
||||
firefox-devedition-bin
|
||||
fzf
|
||||
fortune
|
||||
dmenu
|
||||
ranger
|
||||
pass
|
||||
brightnessctl
|
||||
vulkan-tools # TODO: vulkan?
|
||||
rustup
|
||||
clang
|
||||
pavucontrol
|
||||
pamixer
|
||||
strongswan
|
||||
gnumake
|
||||
elixir
|
||||
docker docker-compose
|
||||
postgresql
|
||||
htop
|
||||
google-cloud-sdk
|
||||
slurp grim
|
||||
unzip
|
||||
automake
|
||||
autoconf
|
||||
ncurses
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
3
env/nix/modules/bash.nix
vendored
Normal file
3
env/nix/modules/bash.nix
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.bash ];
|
||||
}
|
3
env/nix/modules/bluetooth.nix
vendored
Normal file
3
env/nix/modules/bluetooth.nix
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ config, pkgs, ... }: {
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
15
env/nix/modules/de/base.nix
vendored
Normal file
15
env/nix/modules/de/base.nix
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ config, pkgs, ... }: {
|
||||
fonts.fonts = with pkgs; [ iosevka ];
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
firefox-devedition-bin
|
||||
pavucontrol
|
||||
brightnessctl
|
||||
];
|
||||
};
|
||||
}
|
17
env/nix/modules/de/sway.nix
vendored
Normal file
17
env/nix/modules/de/sway.nix
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ config, pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
swaylock
|
||||
swayidle
|
||||
xwayland
|
||||
waybar
|
||||
mako
|
||||
kanshi
|
||||
wl-clipboard
|
||||
slurp
|
||||
grim
|
||||
];
|
||||
};
|
||||
}
|
3
env/nix/modules/docker.nix
vendored
Normal file
3
env/nix/modules/docker.nix
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ config, pkgs, ... }: {
|
||||
imports = [ /etc/nixos/hardware-configuration.nix ];
|
||||
}
|
5
env/nix/modules/fish.nix
vendored
Normal file
5
env/nix/modules/fish.nix
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.fish ];
|
||||
programs.fish.enable = true;
|
||||
}
|
||||
|
11
env/nix/modules/intel.nix
vendored
11
env/nix/modules/intel.nix
vendored
|
@ -1,10 +1,15 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
};
|
||||
hardware.opengl = {
|
||||
extraPackages = with pkgs; [
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
3
env/nix/modules/neovim.nix
vendored
Normal file
3
env/nix/modules/neovim.nix
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.neovim ];
|
||||
}
|
7
env/nix/modules/network-manager.nix
vendored
7
env/nix/modules/network-manager.nix
vendored
|
@ -1,5 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networkmanager.enable = true;
|
||||
{ config, pkgs, ... }: {
|
||||
networking.networkmanager.enable = true;
|
||||
environment.systemPackages = [ pkgs.networkmanager ];
|
||||
}
|
||||
|
|
8
env/nix/modules/pulseaudio.nix
vendored
Normal file
8
env/nix/modules/pulseaudio.nix
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, ... }: {
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
sound.enable = true;
|
||||
}
|
4
env/nix/modules/systemd-boot-efi.nix
vendored
4
env/nix/modules/systemd-boot-efi.nix
vendored
|
@ -1,6 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
|
|
4
env/nix/modules/tmux.nix
vendored
Normal file
4
env/nix/modules/tmux.nix
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.tmux ];
|
||||
}
|
||||
|
38
env/nix/modules/users/daniel.nix
vendored
Normal file
38
env/nix/modules/users/daniel.nix
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ config, pkgs, ... }: {
|
||||
users.users.daniel = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" ];
|
||||
shell = pkgs.fish;
|
||||
home = "/home/daniel/.home";
|
||||
packages = with pkgs; [
|
||||
fortune
|
||||
steam
|
||||
pulsemixer
|
||||
file
|
||||
appimage-run
|
||||
kitty
|
||||
fzf
|
||||
fortune
|
||||
dmenu
|
||||
ranger
|
||||
pass
|
||||
brightnessctl
|
||||
vulkan-tools # TODO: vulkan?
|
||||
rustup
|
||||
clang
|
||||
pavucontrol
|
||||
pamixer
|
||||
strongswan
|
||||
gnumake
|
||||
elixir
|
||||
docker docker-compose
|
||||
postgresql
|
||||
htop
|
||||
google-cloud-sdk
|
||||
unzip
|
||||
automake
|
||||
autoconf
|
||||
ncurses
|
||||
];
|
||||
};
|
||||
}
|
7
env/nix/modules/users/valerie.nix
vendored
Normal file
7
env/nix/modules/users/valerie.nix
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, pkgs, ... }: {
|
||||
users.users.valerie = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
home = "/home/valerie";
|
||||
};
|
||||
}
|
133
env/nix/personal-machine.nix
vendored
133
env/nix/personal-machine.nix
vendored
|
@ -1,133 +0,0 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ /etc/nixos/hardware-configuration.nix ];
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName = "third.lyte.dev";
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console.keyMap = "us";
|
||||
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
fish bash tmux
|
||||
vim neovim
|
||||
networkmanager
|
||||
wget curl w3m
|
||||
git
|
||||
pciutils usbutils binutils
|
||||
ripgrep sd
|
||||
nodejs python3
|
||||
rsync
|
||||
];
|
||||
variables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fonts = with pkgs; [ iosevka ];
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
# extraConfig = "
|
||||
# load-module module-switch-on-connect
|
||||
# ";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
};
|
||||
|
||||
networking.firewall.enable = false;
|
||||
|
||||
sound.enable = true;
|
||||
|
||||
users.users.daniel = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" ];
|
||||
shell = pkgs.fish;
|
||||
home = "/home/daniel/.home";
|
||||
packages = with pkgs; [
|
||||
steam
|
||||
pulsemixer
|
||||
file
|
||||
appimage-run
|
||||
kitty
|
||||
sway waybar mako wl-clipboard
|
||||
firefox-devedition-bin
|
||||
fzf
|
||||
fortune
|
||||
dmenu
|
||||
ranger
|
||||
pass
|
||||
brightnessctl
|
||||
vulkan-tools # TODO: vulkan?
|
||||
rustup
|
||||
clang
|
||||
pavucontrol
|
||||
pamixer
|
||||
strongswan
|
||||
gnumake
|
||||
elixir
|
||||
docker docker-compose
|
||||
postgresql
|
||||
htop
|
||||
google-cloud-sdk
|
||||
slurp grim
|
||||
unzip
|
||||
automake
|
||||
autoconf
|
||||
ncurses
|
||||
];
|
||||
};
|
||||
|
||||
system.stateVersion = "20.03";
|
||||
}
|
5
env/nix/pkgs/home.nix
vendored
5
env/nix/pkgs/home.nix
vendored
|
@ -1,7 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.stateVersion = "20.03";
|
||||
}
|
||||
|
|
36
env/nix/profiles/base.nix
vendored
36
env/nix/profiles/base.nix
vendored
|
@ -1,27 +1,45 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
imports = [
|
||||
../modules/fish.nix
|
||||
../modules/bash.nix
|
||||
../modules/tmux.nix
|
||||
../modules/neovim.nix
|
||||
];
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console.keyMap = "us";
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
fish bash
|
||||
tmux
|
||||
neovim
|
||||
networkmanager
|
||||
less
|
||||
wget curl
|
||||
rsync
|
||||
w3m
|
||||
git
|
||||
pciutils usbutils binutils
|
||||
ripgrep sd fd
|
||||
unzip
|
||||
];
|
||||
variables = {
|
||||
EDITOR = "nvim";
|
||||
PAGER = "nvim";
|
||||
VISUAL = "nvim";
|
||||
PAGER = "less";
|
||||
VISUAL = "less";
|
||||
};
|
||||
shellAliases = {
|
||||
vim = "neovim";
|
||||
vi = "neovim";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
8
env/nix/profiles/laptop.nix
vendored
8
env/nix/profiles/laptop.nix
vendored
|
@ -1,7 +1,3 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./base.nix
|
||||
];
|
||||
{ config, pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
}
|
||||
|
|
Reference in a new issue