Add desktop
This commit is contained in:
parent
e6df3e7949
commit
079b6f0acc
4 changed files with 133 additions and 0 deletions
29
desktop/common.nix
Normal file
29
desktop/common.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
home-manager
|
||||||
|
vim
|
||||||
|
firefox
|
||||||
|
bat
|
||||||
|
byobu
|
||||||
|
curl
|
||||||
|
git
|
||||||
|
fd
|
||||||
|
flameshot
|
||||||
|
fishPlugins.done
|
||||||
|
fishPlugins.fzf-fish
|
||||||
|
fishPlugins.forgit
|
||||||
|
fzf
|
||||||
|
google-chrome
|
||||||
|
lua
|
||||||
|
microsoft-edge
|
||||||
|
ripgrep
|
||||||
|
starship
|
||||||
|
terminator
|
||||||
|
thunderbird
|
||||||
|
tmux
|
||||||
|
vlc
|
||||||
|
wget
|
||||||
|
zoom-us
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
} @ args: {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./common.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
# AppImage support
|
||||||
|
boot.binfmt.registrations.appimage = {
|
||||||
|
wrapInterpreterInShell = false;
|
||||||
|
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||||
|
recognitionType = "magic";
|
||||||
|
offset = 0;
|
||||||
|
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||||
|
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
services.salt.minion.enable = true;
|
||||||
|
services.salt.minion.configuration = {
|
||||||
|
master = "salt.freelock.lan";
|
||||||
|
location = [ "freelock" ];
|
||||||
|
};
|
||||||
|
# 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;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.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.john = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "John";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"electron-25.9.0"
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
ddev
|
||||||
|
mkcert
|
||||||
|
php81
|
||||||
|
polypane
|
||||||
|
vault
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
# DDev setup
|
||||||
|
# Install & enable docker.
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
# Allow Xdebug to use port 9003.
|
||||||
|
networking.firewall.allowedTCPPorts = [ 9000 9003 ];
|
||||||
|
|
||||||
|
# Make it possible for ddev to modify the /etc/hosts file.
|
||||||
|
# Otherwise you'll have to manually change the
|
||||||
|
# hosts configuration after creating a new ddev project.
|
||||||
|
environment.etc.hosts.mode = "0644";
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gimp-with-plugins
|
||||||
|
libreoffice-qt
|
||||||
|
nextcloud-client
|
||||||
|
obs-studio
|
||||||
|
obsidian
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in a new issue