mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 09:27:44 -04:00
Merge pull request #321 from genebean/alexification
Apply learnings from Alex's configs
This commit is contained in:
commit
65efd22cb3
11 changed files with 361 additions and 281 deletions
40
flake.lock
generated
40
flake.lock
generated
|
|
@ -17,6 +17,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702569759,
|
||||||
|
"narHash": "sha256-Ze3AdEEsVZBRJ4wn13EZpV1Uubkzi59TkC4j2G9xoFI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "98ab91109716871f50ea8cb0e0ac7cc1e1e14714",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
|
@ -143,6 +163,22 @@
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702539185,
|
||||||
|
"narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1688049487,
|
"lastModified": 1688049487,
|
||||||
|
|
@ -176,11 +212,13 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"disko": "disko",
|
||||||
"genebean-omp-themes": "genebean-omp-themes",
|
"genebean-omp-themes": "genebean-omp-themes",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-homebrew": "nix-homebrew",
|
"nix-homebrew": "nix-homebrew",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
|
||||||
95
flake.nix
95
flake.nix
|
|
@ -4,6 +4,7 @@
|
||||||
# Where we get most of our software. Giant mono repo with recipes
|
# Where we get most of our software. Giant mono repo with recipes
|
||||||
# called derivations that say how to build software.
|
# called derivations that say how to build software.
|
||||||
nixpkgs.url = "github:nixos/nixpkgs";
|
nixpkgs.url = "github:nixos/nixpkgs";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
|
||||||
# Controls system level software and settings including fonts
|
# Controls system level software and settings including fonts
|
||||||
nix-darwin = {
|
nix-darwin = {
|
||||||
|
|
@ -20,6 +21,12 @@
|
||||||
# Manage Homebrew itself
|
# Manage Homebrew itself
|
||||||
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
|
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
|
||||||
|
|
||||||
|
# Format disks with nix-config
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# My oh-my-posh theme
|
# My oh-my-posh theme
|
||||||
genebean-omp-themes = {
|
genebean-omp-themes = {
|
||||||
url = "github:genebean/my-oh-my-posh-themes";
|
url = "github:genebean/my-oh-my-posh-themes";
|
||||||
|
|
@ -27,40 +34,13 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
}; # end inputs
|
}; # end inputs
|
||||||
outputs = { self, nixpkgs, nix-darwin, home-manager, nix-homebrew, genebean-omp-themes, ... }: {
|
outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, nix-darwin, home-manager, nix-homebrew, disko, genebean-omp-themes, ... }: let
|
||||||
nixosConfigurations = let
|
inputs = { inherit disko home-manager nixpkgs nixpkgs-unstable nix-darwin; };
|
||||||
user = "gene";
|
|
||||||
in {
|
|
||||||
rainbow-planet = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
./modules/nixos
|
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
# creates a macOS system config
|
||||||
{
|
darwinSystem = system: hostName: username: nix-darwin.lib.darwinSystem {
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users.${user}.imports = [
|
|
||||||
./modules/home-manager
|
|
||||||
./modules/home-manager/nixos.nix
|
|
||||||
./modules/nixos/dconf.nix
|
|
||||||
];
|
|
||||||
extraSpecialArgs = { inherit genebean-omp-themes; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}; # end rainbow-planet
|
|
||||||
}; # end nixosConfigurations
|
|
||||||
|
|
||||||
# This is only set to work with x86 macOS right now... that will need to be updated
|
|
||||||
darwinConfigurations = let
|
|
||||||
user = "gene.liverman";
|
|
||||||
in {
|
|
||||||
Blue-Rock = nix-darwin.lib.darwinSystem {
|
|
||||||
system = "x86_64-darwin";
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
system = "x86_64-darwin";
|
inherit system;
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
|
|
@ -76,29 +56,68 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# User owning the Homebrew prefix
|
# User owning the Homebrew prefix
|
||||||
user = "${user}";
|
user = "${username}";
|
||||||
|
|
||||||
# Automatically migrate existing Homebrew installations
|
# Automatically migrate existing Homebrew installations
|
||||||
autoMigrate = true;
|
autoMigrate = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
./modules/darwin
|
|
||||||
|
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.${user}.imports = [
|
users.${username}.imports = [
|
||||||
./modules/home-manager
|
./modules/home-manager
|
||||||
./modules/home-manager/darwin.nix
|
./modules/home-manager/darwin.nix
|
||||||
];
|
];
|
||||||
extraSpecialArgs = { inherit genebean-omp-themes; };
|
extraSpecialArgs = { inherit genebean-omp-themes; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
./modules/common/darwin/all-hosts.nix
|
||||||
|
./modules/hosts/darwin/${hostName} # ip address, host specific stuff
|
||||||
]; # end modules
|
]; # end modules
|
||||||
}; # end Blue-Rock
|
}; # end darwinSystem
|
||||||
}; # end darwinConfigurations
|
|
||||||
|
# creates a nixos system config
|
||||||
|
nixosSystem = system: hostName: username: nixpkgs.lib.nixosSystem {
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-21.4.4" # Well, this sucks, hopefully a fixed version is available soon...
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.${username}.imports = [
|
||||||
|
./modules/home-manager
|
||||||
|
./modules/home-manager/nixos.nix
|
||||||
|
];
|
||||||
|
extraSpecialArgs = { inherit genebean-omp-themes; };
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
./modules/common/nixos/all-hosts.nix
|
||||||
|
./modules/hosts/nixos/${hostName} # ip address, host specific stuff
|
||||||
|
];
|
||||||
|
}; # end nixosSystem
|
||||||
|
|
||||||
|
in {
|
||||||
|
darwinConfigurations = {
|
||||||
|
Blue-Rock = darwinSystem "x86_64-darwin" "Blue-Rock" "gene.liverman";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosConfigurations = {
|
||||||
|
rainbow-planet = nixosSystem "x86_64-linux" "rainbow-planet" "gene";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ pkgs, ... }: let
|
{ pkgs, ... }: let
|
||||||
user = "gene.liverman";
|
username = "gene.liverman";
|
||||||
in {
|
in {
|
||||||
system.stateVersion = 4;
|
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
shells = with pkgs; [ bash zsh ];
|
shells = with pkgs; [ bash zsh ];
|
||||||
loginShell = pkgs.zsh;
|
loginShell = pkgs.zsh;
|
||||||
|
|
@ -12,16 +10,12 @@ in {
|
||||||
];
|
];
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
coreutils
|
coreutils
|
||||||
chart-testing
|
|
||||||
hugo
|
hugo
|
||||||
kopia
|
|
||||||
kubectx
|
|
||||||
mas
|
mas
|
||||||
nmap
|
nmap
|
||||||
nodejs
|
nodejs
|
||||||
nodePackages.npm
|
nodePackages.npm
|
||||||
openjdk
|
openjdk
|
||||||
python2
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -33,75 +27,44 @@ in {
|
||||||
upgrade = true;
|
upgrade = true;
|
||||||
};
|
};
|
||||||
taps = [
|
taps = [
|
||||||
"hashicorp/tap"
|
|
||||||
# "homebrew/bundle"
|
|
||||||
"homebrew/cask-fonts"
|
"homebrew/cask-fonts"
|
||||||
# "jandedobbeleer/oh-my-posh"
|
|
||||||
"null-dev/firefox-profile-switcher"
|
"null-dev/firefox-profile-switcher"
|
||||||
"puppetlabs/puppet"
|
|
||||||
];
|
];
|
||||||
brews = [
|
brews = [
|
||||||
"adr-tools"
|
|
||||||
"ffmpeg"
|
"ffmpeg"
|
||||||
"firefox-profile-switcher-connector"
|
"firefox-profile-switcher-connector"
|
||||||
"helm"
|
|
||||||
"kubernetes-cli"
|
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"1password"
|
"1password"
|
||||||
"1password-cli"
|
"1password-cli"
|
||||||
"amethyst"
|
"amethyst"
|
||||||
"angry-ip-scanner"
|
"angry-ip-scanner"
|
||||||
"asana"
|
|
||||||
"audacity"
|
"audacity"
|
||||||
"balenaetcher"
|
"balenaetcher"
|
||||||
"boinc"
|
|
||||||
"cakebrew"
|
|
||||||
"discord"
|
|
||||||
"elgato-stream-deck"
|
|
||||||
"firefox"
|
"firefox"
|
||||||
"font-hack-nerd-font"
|
"font-hack-nerd-font"
|
||||||
"font-inconsolata-g-for-powerline"
|
"font-inconsolata-g-for-powerline"
|
||||||
"font-source-code-pro-for-powerline"
|
"font-source-code-pro-for-powerline"
|
||||||
"google-drive"
|
|
||||||
"iterm2"
|
"iterm2"
|
||||||
"keepingyouawake"
|
"keepingyouawake"
|
||||||
"kopiaui"
|
|
||||||
"libreoffice"
|
"libreoffice"
|
||||||
"logseq"
|
"logseq"
|
||||||
"meld"
|
"meld"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
"obs"
|
|
||||||
"onlyoffice"
|
"onlyoffice"
|
||||||
"pdk"
|
|
||||||
"puppet-agent"
|
|
||||||
"puppet-bolt"
|
|
||||||
"qmk-toolbox"
|
|
||||||
"raycast"
|
"raycast"
|
||||||
"signal"
|
"signal"
|
||||||
"slack"
|
"slack"
|
||||||
"tailscale"
|
"tailscale"
|
||||||
"thunderbird"
|
|
||||||
# "tunnelblick"
|
|
||||||
"vagrant"
|
|
||||||
"vivaldi"
|
"vivaldi"
|
||||||
"virtualbox"
|
|
||||||
"vlc"
|
"vlc"
|
||||||
"whalebird"
|
|
||||||
"zenmap"
|
|
||||||
"zoom"
|
"zoom"
|
||||||
];
|
];
|
||||||
masApps = {
|
masApps = {
|
||||||
"1Password for Safari" = 1569813296;
|
"1Password for Safari" = 1569813296;
|
||||||
"BetterSnapTool" = 417375580;
|
"BetterSnapTool" = 417375580;
|
||||||
"Home Assistant" = 1099568401;
|
"Home Assistant" = 1099568401;
|
||||||
"HomeCam" = 1292995895;
|
|
||||||
"Keeper Password Manager" = 414781829;
|
|
||||||
"MeetingBar" = 1532419400;
|
|
||||||
"Microsoft Remote Desktop" = 1295203466;
|
|
||||||
"MQTT Explorer" = 1455214828;
|
"MQTT Explorer" = 1455214828;
|
||||||
"Telegram" = 747648890;
|
|
||||||
"WhatsApp Messenger" = 310633997;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -114,7 +77,7 @@ in {
|
||||||
"flakes"
|
"flakes"
|
||||||
"nix-command"
|
"nix-command"
|
||||||
];
|
];
|
||||||
trusted-users = [ "@admin" "${user}" ];
|
trusted-users = [ "@admin" "${username}" ];
|
||||||
};
|
};
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
# Generated by https://github.com/DeterminateSystems/nix-installer, version 0.11.0.
|
# Generated by https://github.com/DeterminateSystems/nix-installer, version 0.11.0.
|
||||||
|
|
@ -126,8 +89,8 @@ in {
|
||||||
|
|
||||||
services.nix-daemon.enable = true;
|
services.nix-daemon.enable = true;
|
||||||
|
|
||||||
users.users.${user} = {
|
users.users.${username} = {
|
||||||
home = "/Users/${user}";
|
home = "/Users/${username}";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
49
modules/common/nixos/all-hosts.nix
Normal file
49
modules/common/nixos/all-hosts.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{ config, pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
./internationalisation.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
shells = with pkgs; [ bash zsh ];
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
angryipscanner
|
||||||
|
dconf2nix
|
||||||
|
file
|
||||||
|
neofetch
|
||||||
|
python3
|
||||||
|
tailscale
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.fontDir.enable = false;
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
(nerdfonts.override {
|
||||||
|
fonts = [
|
||||||
|
"Hack"
|
||||||
|
"SourceCodePro"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [
|
||||||
|
"flakes"
|
||||||
|
"nix-command"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
services.tailscale = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
}
|
||||||
17
modules/common/nixos/internationalisation.nix
Normal file
17
modules/common/nixos/internationalisation.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ config, pkgs, ... }: {
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
./dconf.nix
|
||||||
|
];
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/hypr/frappe.conf".source = (pkgs.fetchFromGitHub {
|
".config/hypr/frappe.conf".source = (pkgs.fetchFromGitHub {
|
||||||
owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
|
|
|
||||||
52
modules/hosts/darwin/Blue-Rock/default.nix
Normal file
52
modules/hosts/darwin/Blue-Rock/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
system.stateVersion = 4;
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
chart-testing
|
||||||
|
kopia
|
||||||
|
kubectx
|
||||||
|
python2
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
homebrew = {
|
||||||
|
taps = [
|
||||||
|
"hashicorp/tap"
|
||||||
|
# "homebrew/bundle"
|
||||||
|
# "jandedobbeleer/oh-my-posh"
|
||||||
|
"puppetlabs/puppet"
|
||||||
|
];
|
||||||
|
brews = [
|
||||||
|
"adr-tools"
|
||||||
|
"helm"
|
||||||
|
"kubernetes-cli"
|
||||||
|
];
|
||||||
|
casks = [
|
||||||
|
"asana"
|
||||||
|
"boinc"
|
||||||
|
"discord"
|
||||||
|
"elgato-stream-deck"
|
||||||
|
"google-drive"
|
||||||
|
"kopiaui"
|
||||||
|
"obs"
|
||||||
|
"pdk"
|
||||||
|
"puppet-agent"
|
||||||
|
"puppet-bolt"
|
||||||
|
"qmk-toolbox"
|
||||||
|
"thunderbird"
|
||||||
|
"vagrant"
|
||||||
|
"virtualbox"
|
||||||
|
"whalebird"
|
||||||
|
"zenmap"
|
||||||
|
];
|
||||||
|
masApps = {
|
||||||
|
"HomeCam" = 1292995895;
|
||||||
|
"Keeper Password Manager" = 414781829;
|
||||||
|
"MeetingBar" = 1532419400;
|
||||||
|
"Microsoft Remote Desktop" = 1295203466;
|
||||||
|
"Telegram" = 747648890;
|
||||||
|
"WhatsApp Messenger" = 310633997;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
110
modules/hosts/nixos/rainbow-planet/default.nix
Normal file
110
modules/hosts/nixos/rainbow-planet/default.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
{ config, pkgs, ... }: let
|
||||||
|
username = "gene";
|
||||||
|
hostname = "rainbow-planet";
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
|
boot.loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot= {
|
||||||
|
enable = true;
|
||||||
|
consoleMode = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# host specific apps
|
||||||
|
boinc
|
||||||
|
brightnessctl
|
||||||
|
gnome.nautilus
|
||||||
|
pavucontrol
|
||||||
|
polkit-kde-agent
|
||||||
|
ulauncher
|
||||||
|
whalebird
|
||||||
|
wmctrl
|
||||||
|
|
||||||
|
# common gui apps that really should be in another file
|
||||||
|
firefox
|
||||||
|
libreoffice
|
||||||
|
meld
|
||||||
|
slack
|
||||||
|
tilix
|
||||||
|
vivaldi
|
||||||
|
xfce.xfce4-terminal
|
||||||
|
zoom-us
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "${hostname}";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.settings.allowed-users = [ "${username}" ];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
_1password.enable = true;
|
||||||
|
_1password-gui = {
|
||||||
|
enable = true;
|
||||||
|
# Certain features, including CLI integration and system authentication support,
|
||||||
|
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
|
||||||
|
polkitPolicyOwners = [ "${username}" ];
|
||||||
|
};
|
||||||
|
hyprland.enable = true;
|
||||||
|
|
||||||
|
# common programs that really should be in another file
|
||||||
|
# required for setting to be picked up by xfce4-terminal
|
||||||
|
xfconf.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
boinc.enable = true;
|
||||||
|
gnome.gnome-keyring.enable = true; # Provides secret storage
|
||||||
|
gvfs.enable = true; # Used by Nautilus
|
||||||
|
printing.enable = true; # Enable CUPS
|
||||||
|
tailscale = {
|
||||||
|
extraUpFlags = [
|
||||||
|
"--ssh"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = true; # Enable the X11 windowing system.
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
|
||||||
|
displayManager = {
|
||||||
|
gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.${username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Gene Liverman";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "dialout" "input" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
tailscale-systray
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,171 +0,0 @@
|
||||||
{ config, pkgs, ... }: let
|
|
||||||
user = "gene";
|
|
||||||
hostname = "rainbow-planet";
|
|
||||||
in {
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
boot.loader.systemd-boot.consoleMode = "1";
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "${hostname}";
|
|
||||||
networkmanager.enable = true;
|
|
||||||
};
|
|
||||||
services.tailscale = {
|
|
||||||
enable = true;
|
|
||||||
extraUpFlags = [
|
|
||||||
"--ssh"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
|
||||||
LC_NAME = "en_US.UTF-8";
|
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
|
||||||
LC_PAPER = "en_US.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
|
||||||
LC_TIME = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
enable = true; # Enable the X11 windowing system.
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
|
|
||||||
displayManager = {
|
|
||||||
gdm = {
|
|
||||||
enable = true;
|
|
||||||
wayland = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.hyprland.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
wireplumber.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.${user} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Gene Liverman";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "dialout" "input" ];
|
|
||||||
packages = with pkgs; [
|
|
||||||
tailscale-systray
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.shells = with pkgs; [ bash zsh ];
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Well, this sucks, hopefully a fixed version is available soon...
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"electron-21.4.4"
|
|
||||||
];
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
angryipscanner
|
|
||||||
boinc
|
|
||||||
brightnessctl
|
|
||||||
dconf2nix
|
|
||||||
file
|
|
||||||
firefox
|
|
||||||
gnome.nautilus
|
|
||||||
libreoffice
|
|
||||||
meld
|
|
||||||
neofetch
|
|
||||||
pavucontrol
|
|
||||||
polkit-kde-agent
|
|
||||||
python3
|
|
||||||
slack
|
|
||||||
tailscale
|
|
||||||
tilix
|
|
||||||
ulauncher
|
|
||||||
vivaldi
|
|
||||||
whalebird
|
|
||||||
wmctrl
|
|
||||||
xfce.xfce4-terminal
|
|
||||||
zoom-us
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
_1password.enable = true;
|
|
||||||
_1password-gui = {
|
|
||||||
enable = true;
|
|
||||||
# Certain features, including CLI integration and system authentication support,
|
|
||||||
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
|
|
||||||
polkitPolicyOwners = [ "${user}" ];
|
|
||||||
};
|
|
||||||
# required for setting to be picked up by xfce4-terminal
|
|
||||||
xfconf.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Used by Nautilus
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
# Provides secret storage
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
services.boinc.enable = true;
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
allowed-users = [ "${user}" ];
|
|
||||||
experimental-features = [
|
|
||||||
"flakes"
|
|
||||||
"nix-command"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.fontDir.enable = false;
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
font-awesome
|
|
||||||
(nerdfonts.override {
|
|
||||||
fonts = [
|
|
||||||
"Hack"
|
|
||||||
"SourceCodePro"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue