Skip to content

Commit

Permalink
Merge branch 'master' of github.com:ahub2/my-scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
ahub2 committed Dec 16, 2022
2 parents 568706c + 39f375e commit 258e165
Show file tree
Hide file tree
Showing 5 changed files with 318 additions and 0 deletions.
200 changes: 200 additions & 0 deletions installers/nixos/configuration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
{ config, pkgs, ... }:

{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
#./gaming-configuration.nix
./sway-configuration.nix
];

# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "22.05"; # Did you read the comment?

# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
system.copySystemConfiguration = true;


# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

networking.hostName = "bismarck"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
#networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.

services.connman.enable = true;
networking.wireless.iwd.enable = true;
services.connman.wifi.backend = "iwd";

# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 67 68 53 ];
networking.firewall.allowedTCPPortRanges = [
{ from = 56881; to = 56889; }
{ from = 27036; to = 27037; }
];

# networking.firewall.allowedUDPPorts = [ ... ];
networking.firewall.allowedUDPPortRanges = [
{ from = 27000; to = 27036; }
];

# Or disable the firewall altogether.
# networking.firewall.enable = false;



# Set your time zone.
time.timeZone = "America/Chicago";

# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
#keyMap = "us";
useXkbConfig = true; # use xkbOptions in tty.
};

#Define a user account. Don't forget to set a password with ‘passwd’.
users.users.alex = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
packages = with pkgs; [
librewolf
yt-dlp
zathura
sfeed
chromium
brave
keepassxc
];
};

security.sudo.extraRules = [{
runAs = "root";
groups = [ "wheel" ];
commands = [{
command = "/run/current-system/sw/bin/poweroff";
options = [ "NOPASSWD" ];
} {
command = "/run/current-system/sw/bin/reboot";
options = [ "NOPASSWD" ];
}];
}];

# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.mtr.enable = true;

services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryFlavor = "curses";
enableSSHSupport = true;
};

environment.systemPackages = with pkgs; [
glib # gsettings
dracula-theme # gtk theme
gnome3.adwaita-icon-theme # default gnome cursors
zsh
noto-fonts
noto-fonts-extra
noto-fonts-emoji
noto-fonts-cjk-sans
nerdfonts
zip
unzip
p7zip
pavucontrol
pamixer
pulsemixer
imagemagick
ffmpegthumbnailer
file
viu
bat
pavucontrol
neovim
pfetch
htop-vim
lf
mpv
mpd
ncmpcpp
libnotify
lynx
mutt-wizard
pass
neomutt
notmuch
isync
pinentry-curses
connman-gtk
openssl
git
shellcheck
jq
monero-cli
bc
gnome.zenity
cura
udisks2
udiskie
python3
python3.pkgs.pip
chafa
];

fonts.fonts = with pkgs; [
noto-fonts
noto-fonts-extra
noto-fonts-emoji
noto-fonts-cjk-sans
nerdfonts

];

#enable flatpak
services.flatpak.enable = true;

security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};



services.pipewire.wireplumber.enable = true;

# xdg-desktop-portal works by exposing a series of D-Bus interfaces
# known as portals under a well-known name
# (org.freedesktop.portal.Desktop) and object path
# (/org/freedesktop/portal/desktop).
# The portal interfaces include APIs for file access, opening URIs,
# printing and others.
services.dbus.enable = true;
xdg.portal = {
enable = true;
wlr.enable = true;
# gtk portal needed to make gtk apps happy
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
gtkUsePortal = true;
};

}
29 changes: 29 additions & 0 deletions installers/nixos/gaming-configuration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{ config, pkgs, lib, ... }: {

#enable nonfree packages
nixpkgs.config.allowUnfree = true;

environment.systemPackages = with pkgs; [
lutris
radeontop
];

#add 32bit support for graphics
hardware.opengl.driSupport32Bit = true;

#nixpkgs.config.packageOverrides = pkgs: {
# steam = pkgs.steam.override {
# extraPkgs = pkgs: with pkgs; [
# libgdiplus
# libpng
# ];
# };
#};

programs.steam = {
enable = false;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};

}
58 changes: 58 additions & 0 deletions installers/nixos/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/sh

mkdir ~/docs/
mkdir ~/dl/
mkdir ~/media/
mkdir -p ~/.local/share/gnupg/
mkdir -p ~/.config/mpd/playlists
mkdir -p ~/.local/share/desktop

#setup .zprofile and zsh history file
cd ~ || return
ln -s ~/.profile ~/.zprofile
mkdir -p ~/.cache/zsh
touch ~/.cache/zsh/history


<<<<<<< HEAD
sh ~/.local/scripts/install.sh add-repos ~/.local/installers/nixos/repos.list


#link rofi themes directory so that theming works
mkdir -p "$HOME"/.local/share/rofi/
ln -s "$HOME"/.local/src/base16-rofi/themes/ "$HOME"/.local/share/rofi/themes
=======
#sh ~/.local/scripts/install.sh add-repos ~/.local/installers/nixos/repos.list


#link rofi themes directory so that theming works
#mkdir -p "$HOME"/.local/share/rofi/
#ln -s "$HOME"/.local/src/base16-rofi/themes/ "$HOME"/.local/share/rofi/themes
>>>>>>> tmp



#set limits for esync
#sudo sh -c "echo '$USER hard nofile 524288' >> /etc/security/limits.conf"
#set limits for monero
#sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"
#sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"

#fix issue with arduino ide and tiling wms
#sudo sh -c 'echo "export _JAVA_AWT_WM_NONREPARENTING=1" >> /etc/profile.d/jre.sh'

#download collapse OS
mkdir -p "$HOME"/.local/src/
cd "$HOME"/.local/src/
wget http://collapseos.org/files/collapseos-latest.tar.gz
cd -

#set wallpaper
<<<<<<< HEAD
ln -s ~/media/img/wallpapers/alena-aenami-eclipse-1k.jpg ~/.config/wall
=======
#ln -s ~/media/img/wallpapers/alena-aenami-eclipse-1k.jpg ~/.config/wall
>>>>>>> tmp

#link Xresources for xwayland
ln -s ~/.config/Xresources ~/.Xdefaults
3 changes: 3 additions & 0 deletions installers/nixos/repos.list
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
https://github.com/aarowill/base16-alacritty.git
https://github.com/rkubosz/base16-sway.git
https://gitlab.com/jordiorlando/base16-rofi.git
28 changes: 28 additions & 0 deletions installers/nixos/sway-configuration.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{ config, pkgs, lib, ... }: {

environment.systemPackages = with pkgs; [
wayland
sway
waylock
swayidle
grim
slurp
wl-clipboard
mako
swaybg
waybar
xwayland
gammastep
bemenu
imv
foot
autotiling
];

# enable sway window manager
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};

}

0 comments on commit 258e165

Please sign in to comment.