Skip to content

Instantly share code, notes, and snippets.

@noonien
Last active February 9, 2021 21:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noonien/bf3f9127f0a7999fefb429d0a584b697 to your computer and use it in GitHub Desktop.
Save noonien/bf3f9127f0a7999fefb429d0a584b697 to your computer and use it in GitHub Desktop.
import ./machines/nomad
{ config, pkgs, ... }:
{
imports = [
../../overlays
./hardware-configuration.nix
./custom-hardware.nix
#../../profiles/laptop.nix
../../modules/boot.nix
../../modules/zfs.nix
../../modules/users.nix
../../modules/system.nix
../../modules/desktop.nix
../../modules/network.nix
../../modules/audio.nix
../../modules/bluetooth.nix
../../modules/docker.nix
../../cachix.nix
];
networking.hostName = "nomad"; # Define your hostname.
services.openssh.enable = true;
nixpkgs.config = {
allowUnfree = true;
};
_module.args.unstable = import <nixos-unstable> {
config = config.nixpkgs.config;
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "18.09"; # Did you read the comment?
}
{ config, pkgs, unstable, ... }:
{
# Enable CUPS to print documents.
# services.printing.enable = true;
services.xserver = {
enable = true;
# enable touuchpad support
libinput.enable = true;
displayManager.lightdm = {
enable = true;
autoLogin.enable = true;
autoLogin.user = "george";
};
desktopManager = {
default = "none";
xterm.enable = false;
};
windowManager.default = "i3";
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
};
};
programs.dconf.enable = true;
services.dbus.packages = [ pkgs.gnome3.dconf ];
services.redshift = {
enable = true;
provider = "geoclue2";
};
services.compton = {
enable = true;
};
fonts.fonts = with pkgs; [
nerdfonts
#nerdfonts.noto
];
environment.systemPackages = with pkgs; [
xorg.xdpyinfo
xdotool
okular
compton
termite
i3blocks
dunst
libnotify
networkmanagerapplet
polybar
udiskie
partition-manager
rofi
pcmanfm
google-chrome
firefox
torbrowser
recordmydesktop
vlc
smplayer
mpv
rambox
unstable.electrum
kleopatra
transmission-gtk
webtorrent_desktop
gthumb
unstable.wpgtk
scrot
qalculate-gtk
android-file-transfer
gnome3.file-roller
gnome3.gnome-font-viewer
unstable.mindforger
#unstable.factorio
#unstable.steam
];
# need this for i3blocks
environment.pathsToLink = [ "/libexec" ];
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
nixpkgs.config.packagesOverrides = pkgs: {
polybar = pkgs.polybar.override {
alsaSupport = true;
githubSupport = true;
mpdSupport = true;
pulseSupport = true;
iwSupport = true;
nlSupport = true;
i3GapsSupport = true;
};
};
systemd.user.services = {
nm-applet = {
description = "Network manager applet";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
};
udiskie = {
description = "Automounter for removable media";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.udiskie}/bin/udiskie --no-automount --tray --use-udisks2";
Restart = "always";
};
};
};
}
{
# Tracked overlays
imports = [
./noonien
]
# Untracked / local overlays.
++ (if (builtins.pathExists(./default.local.nix)) then [ ./default.local.nix ] else []);
}
{
# Imports `module.nix` if present, which is expected to add to
# the nixos configuration system.
#imports = [ ./module.nix ];
# Imports the overlay
nixpkgs.overlays = [
(import ./overlay.nix)
];
}
self: super:
let inherit (self) callPackage fetchFromGitHub;
in
{
fetchGitHubFiles = callPackage ./pkgs/build-support/fetchgithubfiles { };
fetchMultiURLs = callPackage ./pkgs/build-support/fetchmultiurls { };
nerdfonts = callPackage ./pkgs/nerdfonts { };
nordnm = callPackage ./pkgs/tools/networking/nordnm { };
vte-ng = super.vte-ng.overideAttrs (old: {
configureFlags = old.configureFlags ++ [ " --enable-debug" ];
});
#termite-unwrapped = super.termite-unwrapped.override {
# vte-ng = self.vte-ng;
#};
#termite = super.termite.override {
# termite = self.termite-unwrapped;
#};
nixops =
let
rev = "d18f67b";
nixos-dev = fetchFromGitHub {
owner = "noonien";
repo = "nixops";
inherit rev;
sha256 = "1ib1gdbsfkip2adbcrgb5z55sai52qdailvdb9sqx7pyxa7p8n2b";
};
in (import "${nixos-dev}/release.nix" {}).build.x86_64-linux;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment