[ Prev ] [ Index ] [ Next ]

bx27 OLD

Created Thursday 03 January 2019



BX27 rebuild 190301


*****/etc/nixos/configuration.nix

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).


{ config, pkgs, ... }:


{

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



##### Use the systemd-boot EFI boot loader. #####

boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
supportedFilesystems = [ "zfs" ];
initrd.luks.devices = [
{ name = "cpool"; device = "/dev/disk/by-id/ata-WDC_WD5000AAKX-22ERMA0_WD-WCC2EAFV2656-part2"; }
];
earlyVconsoleSetup = true;
};






##### networking #####

networking.hostName = "bx27"; # Define your hostname.
networking.hostId = "8425e349";
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true;
networking.firewall.enable = true;
networking.firewall.allowPing = true;
networking.firewall.rejectPackets = false;
# networking.firewall.allowedTCPPorts = [ 445 139 80 ];
#networking.firewall.allowedUDPPorts = [ 137 138 ];
networking.interfaces.enp2s0.ipv4.addresses = [ { address = "192.168.0.27"; prefixLength = 24; } ];
networking.defaultGateway = "192.168.0.1";
networking.nameservers = [ "8.8.8.8" "8.8.84.4" ];


# nixpkgs.config.permittedInsecurePackages = [
# "polipo-1.1.1"
# ];






##### Select internationalisation properties. #####

i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_AU.UTF-8";
};





##### Set your time zone. #####

time.timeZone = "Australia/Sydney";





################################################################################
##### List packages installed in system profile. To search by name, run: #####
################################################################################



# $ nix-env -qaP | grep wget

environment.systemPackages = with pkgs; [






###........ADMIN........###



acct #GNU Accounting Utilities, login and process accounting utilities
ag #A code-searching tool similar to ack, but faster
baobab #Graphical application to analyse disk usage in any Gnome environment
busybox #Tiny versions of common UNIX utilities in a single small executable
clamav #Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats
gparted #Graphical disk partitioning tool
gtkspell3 #Word-processor-style highlighting GtkTextView widget
f2fs-tools #Userland tools for the f2fs filesystem
finger_bsd
# gnome3.gnome-disk-utility #A udisks graphical front-end
hardinfo #Display information about your hardware and operating system
htop
hwinfo
inetutils #Collection of common network programs
iptraf #Console-based network statistics utility for Linux
lshw #Provide detailed information on the hardware configuration of the machine
lsof #A tool to list open files
monit #Monitoring system
ncdu #Ncurses disk usage analyzer
nethogs #A small 'net top' tool, grouping bandwidth by process
nmap
nnn #Small ncurses-based file browser forked from noice
noice #Small ncurses-based file browser
ntfs3g #FUSE-based NTFS driver with full write support
qdirstat #Graphical disk usage analyzer
tcpdump #Network sniffer
tree #Command to produce a depth indented directory listing
# virtmanager-qt #Desktop user interface for managing virtual machines (QT)
vnstat #Console-based network statistics utility for Linux
xclip #Tool to access the X clipboard from a console application
zeitgeist #A service which logs the users's activities and events







###........ARCHIVING........###


bzip2 #High-quality data compression program
gzip #GNU zip compression program
unar #An archive unpacker program
unzip #An extraction utility for archives compressed in .zip format
unzipNLS #An extraction utility for archives compressed in .zip format
xarchiver #GTK+ frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)
zziplib #Library to extract data from files archived in a zip file



###........DATABASES........###


dbeaver #Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more



###........ENCRYPTION........###


#gnupg #Modern (2.1) release of the GNU Privacy Guard, a GPL OpenPGP implementation


###........MARIADB........###


mariadb #An enhanced, drop-in replacement for MySQL SERVER
libmysql #An enhanced, drop-in replacement for MySQL CLIENT




###........MYSQL........###



# mysql57 #The world's most popular open source database

mysql-workbench #Visual MySQL database modeling, administration and querying tool
# mycli #Command-line interface for MySQL





###........Postgresql.........####


pgadmin #PostgreSQL administration GUI tool
pgmanage #A fast replacement for PGAdmin





###........EDITORS........###



atom #A hackable text editor for the 21st Century
ed #An implementation of the standard Unix editor
emacs #The extensible, customizable GNU text editor
geany #Small and lightweight IDE
geda #Full GPL'd suite of Electronic Design Automation tools
jedit
kicad #Free Software EDA Suite
meld #Visual diff and merge tool
micro #Modern and intuitive terminal-based text editor
# pcb #Printed Circuit Board editor
vim
vimPlugins.vundle
xfce.mousepad






###........FILE MANAGERS.........###



catfish #A handy file search tool
diffoscope #Perform in-depth comparison of files, archives, and directories
#dolphin
mc #File Manager and User Shell for the GNU Project
tree #Command to produce a depth indented directory listing
pcmanfm #File manager with GTK+ interface
qnotero #Quick access to Zotero references
ranger #File manager with minimalistic curses interface
rox-filer #Fast, lightweight, gtk2 file manager
spaceFM #A multi-panel tabbed file manager
tmsu #A tool for tagging your files using a virtual filesystem
vifm #A vi-like file manager
worker #A two-pane file manager with advanced file manipulation features
xfce.thunar #Xfce file manager
xfe #MS-Explorer like file manager for X
zotero #Collect, organize, cite, and share your research sources


###........FINANCE........###


bean-add #beancount transaction entry assistant
beancount #Double-entry bookkeeping computer language
fava #Web interface for beancount


# hledger #Command-line interface for the hledger accounting tool
# hledger-web #Web interface for the hledger accounting tool


###........GAMING........###


crawl #Open-source, single-player, role-playing roguelike game
nethack #Rogue-like game
unnethack #Fork of NetHack




###........GRAPHICS........###



#2 blender #3D Creation/Animation/Publishing System

dia #Gnome Diagram drawing software
#2 darktable #Virtual lighttable and darkroom for photographers
#2 graphviz #Open source graph visualization software
ditaa #Convert ascii art diagrams into proper bitmap graphics
#2 gimp #The GNU Image Manipulation Program
#2 graphicsmagick #Swiss army knife of image processing
#2 imagemagick7Big #A software suite to create, edit, compose, or convert bitmap images
inkscape #Vector graphics editor
openshot-qt #ree, open-source video editor
photivo #photo processing
pinta
rawtherapee #RAW converter and digital photo processing software


#2 sweethome3d.application #Design and visualize your future home
#2 sweethome3d.furniture-editor #Quickly create SH3F files and edit the properties of the 3D models it contain
#2 sweethome3d.textures-editor #Easily create SH3T files and edit the properties of the texture images it contain

#synfigstudio #A 2D animation program #######not building
umlet #Free, open-source UML tool with a simple user interface
gource #A Software version control visualization tool
git-big-picture #Tool for visualization of Git repositories.
dotnetPackages.GitVersionTree #A tool to help visualize git revisions and branches




###........LANGUAGES programming........###


ghc #The Glasgow Haskell Compiler#


# haskellPackages.Cabal_2_2_0_0 #A framework for packaging Haskell software


python36Full #A high-level dynamically-typed programming language
ruby_2_5 #The Ruby language
vimPlugins.ghc-mod-vim
vimPlugins.neco-ghc
vimPlugins.haskell-vim
vimPlugins.haskellConceal
vimPlugins.stylish-haskell



###........MULTIMEDIA........###



abcde #Command-line audio CD ripper
alsaUtils #ALSA, the Advanced Linux Sound Architecture utils
#2 ario #GTK2 client for MPD (Music player daemon)
#2 asunder #A graphical Audio CD ripper and encoder for Linux
#2 audacious #Audio player
#audaciousQt5 #Audio player
#amarok #Popular music player for KDE #x# not installing 180219
#banshee #A music player written in C# using GNOME technologies #x# broken 180219 ##### can not build
#beets #Music tagger and library organizer
brasero-original #A Gnome CD/DVD Burner
#2 cantata #A graphical client for MPD
caudec #A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)
cdparanoia #A tool and library for reading digital audio from CDs
clementine #A multiplatform music player (with gstreamer plugins: gst-plugins-base-1.10.4, gst-plugins-good-1.10.4, gst-plugins-ugly-1.10.4, gst-libav-1.10.4)
cmus #Small, fast and powerful console music player for Linux and *BSD
#2 deadbeef-with-plugins #Ultimate Music Player for GNU/Linux
emby #MediaBrowser - Bring together your videos, music, photos, and live television
escrotum #Linux screen capture using pygtk, inspired by scrot
ffmpeg-full #A complete, cross-platform solution to record, convert and stream audio and video
flameshot #Powerful yet simple to use screenshot software
gmpc #A GTK2 frontend for Music Player Daemon
gnome3.gnome-screenshot #Utility used in the GNOME desktop environment for taking screenshots
#2 gradio #A GTK3 app for finding and listening to internet radio stations
lame #A high quality MPEG Audio Layer III (MP3) encoder
libav_12 #A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)
# k3b
#2 kodi #Media center (with plugins: )
maim #A command-line screenshot utility
# miro #Video and audio feed aggregator !!!!!!! not installing
moc #An ncurses console audio player designed to be powerful and easy to use
mpd #A flexible, powerful daemon for playing music
mpd_clientlib #Client library for MPD (music player daemon)
mpv #A media player that supports many video formats (MPlayer and mplayer2 fork)
ncmpc #Curses-based interface for MPD (music player daemon)
ncmpcpp #A featureful ncurses based MPD client inspired by ncmpc
qmmp #Qt-based audio player that looks like Winamp
qscreenshot #Simple creation and editing of screenshots
#quodlibet #GTK+-based audio player written in Python, using the Mutagen tagging library #x# not installing 180219
# rhythmbox #A music playing application for GNOME
scrot #A command-line screen capture utility
shutter #Screenshot and annotation tool
simplescreenrecorder #A screen recorder for Linux
smplayer #A complete front-end for MPlayer
#sonata #An elegant client for the Music Player Daemon
# tomahawk #A multi-source music player
vlc #Cross-platform media player and streaming server
xineUI #Xlib-based interface to Xine, a video player
xineLib #A high-performance, portable and reusable multimedia playback engine



###........MUSIC........###


#2 ardour #Multi-track hard disk recording software
#2 audacity #Sound editor with graphical UI
#2 bristol #A range of synthesiser, electric piano and organ emulations
#2 csound #Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms
#2 denemo #Music notation and composition software used with lilypond
#2 ecasound #Ecasound is a software package designed for multitrack audio processing
#2 fluidsynth #Real-time software synthesizer based on the SoundFont 2 specifications
#2 freewheeling #A live looping instrument with JACK and MIDI support
#2 frescobaldi #Frescobaldi is a LilyPond sheet music text editor
#2 guitarix #A virtual guitar amplifier for Linux running with JACK
#2 hydrogen #Advanced drum machine



jack2Full #JACK audio connection kit, version 2 with jackdbus
liblscp #LinuxSampler Control Protocol (LSCP) wrapper library
lilypond #Music typesetting system
lmms #DAW similar to FL Studio (music production software)
lenmus #LenMus Phonascus is a program for learning music


lv2 #A plugin standard for audio systems
milkytracker #Music tracker application, similar to Fasttracker II
mp3gain #Lossless mp3 normalizer with statistical analysis
mp3splt #Utility to split mp3, ogg vorbis and FLAC files without decoding
musescore #Music notation and composition software
padthv1 #polyphonic additive synthesizer
padthv1 #polyphonic additive synthesizer
qjackctl #A Qt application to control the JACK sound server daemon
qsampler #Graphical frontend to LinuxSampler
qsynth #Fluidsynth GUI
qtractor #Audio/MIDI multi-track sequencer
rakarrack #Multi-effects processor emulating a guitar effects pedalboard
rosegarden #Music composition and editing environment
rtaudio #A set of C++ classes that provide a cross platform API for realtime audio input/output
seq24 #Minimal loop based midi sequencer
sox #Sample Rate Converter for audio
soxr #An audio resampling library
timidity #A software MIDI renderer
tuxguitar #A multitrack guitar tablature editor
#wavesurfer #Tool for recording, playing, editing, viewing and labeling of audio >>>>#### won't evaluate 1809131905
yoshimi #High quality software synthesizer based on ZynAddSubFX
zynaddsubfx #High quality software synthesizer







###........OFFICE........###


aspell #Spell checker for many languages
bc #calculator
calibre #Comprehensive e-book software
cherrytree #An hierarchical note taking application
hunspell # Libre Office Spell checker
libreoffice #Comprehensive, professional-quality productivity suite (Still/stable release)
simple-scan #Simple scanning utility
unoconv #Convert between any document format supported by LibreOffice/OpenOffice


zim #A desktop wiki
kdeApplications.okular







###........ORGANISERS........###


calcurse #A calendar and scheduling application for the command line
# ocamlPackages.wyrd #A text-based front-end to Remind
# gnome3.pomodoro #A time management utility for GNOME based on the pomodoro technique
# ptask #GTK-based GUI for taskwarrior
remind #Sophisticated calendar and alarm program for the console
taskwarrior #Highly flexible command-line tool to manage TODOo lists
vue #Visual Understanding Environment - mind mapping software
vit #Visual Interactive Taskwarrior




###........PDF........###




epdfview #A lightweight PDF document viewer using Poppler and GTK+
# evince #GNOME's document viewer
#jfbview #PDF and image viewer for the Linux framebuffer #####****** not building
mupdf #Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C
pdftk #Simple tool for doing everyday things with PDF documents
qpdfview #A tabbed document viewer
xpdf #Viewer for Portable Document Format (PDF) files
zathura #A highly customizable and functional PDF viewer





### PHP ###



php71Packages.composer #Dependency Manager for PHP
php #An HTML-embedded scripting language
php71Packages.apcu







###.........PRINTING........###


enscript #Converter from ASCII to PostScript, HTML, or RTF






###........samba........###


smbnetfs #A FUSE FS for mounting Samba shares




###........REMOTE........###


socat2pre #A utility for bidirectional data transfer between two independent data channels
# gnome3.vinagre #Remote desktop viewer for GNOME



### security ###


ecryptfs #Enterprise-class stacked cryptographic filesystem
ecryptfs-helper #Helper script to create/mount/unemount encrypted directories using eCryptfs without needing root permissions
encfs
keepassx2 #Qt password manager compatible with its Win32 and Pocket PC versions
keepassx2-http #Fork of the keepassX password-manager with additional http-interface to allow browser-integration an use with plugins such as PasslFox (https://github.com/pfn/passifox).
pass #Stores, retrieves, generates, and synchronizes passwords securely
veracrypt #Free Open-Source filesystem on-the-fly encryption




###........ spell checkers........ ###


hunspell


###........ Terminals........ ###


# deepin-terminal #The default terminal emulation for Deepin


###........VERSION-MANAGEMENT........###


darcs #a distributed, interactive, smart revision control system
# haskellPackages.darcs-fastconvert #Import/export git fast-import streams to/from darcs
fossil #Simple, high-reliability, distributed software configuration management


###........GIT........###
gitAndTools.gitFull #Distributed version control system
git-cola #A sleek and powerful Git GUI
# gitAndTools.git-annex #manage files with git, without checking their contents into git
# gitAndTools.git-annex-metadata-gui #Graphical interface for git-annex metadata commands
gitAndTools.git-annex-remote-b2
gitAndTools.git-annex-remote-rclone #Use rclone supported cloud storage providers with git-annex
# haskellPackages.pushme #Tool to synchronize directories with rsync, zfs or git-annex
# python36Packages.git-annex-adapter #Call git-annex commands from Python


mr #Multiple Repository management tool
pijul #A distributed version control system
# haskellPackages.pi-hoole #Lightweight access control solution for the pijul vcs #!!!!!!!!!error: attribute 'pi-hoole' missing, at /etc/nixos/configuration.nix:478:2



###........UTILITY........###


duff #Quickly find duplicate files
fdupes #Identifies duplicate files residing within specified directories
jdupes #A powerful duplicate file finder and an enhanced fork of 'fdupes'
rmlint #Extremely fast tool to remove duplicates and other lint from your filesystem
units #Unit conversion tool



### VIRTUAL ###


# virtualbox
# linuxPackages.virtualbox #PC emulator (kernel modules)





###........WEB DEVELOPMENT........###


haskellPackages.clckwrks #A secure, reliable content management system (CMS) and blogging platform
haskellPackages.clckwrks-cli #a command-line interface for adminstrating some aspects of clckwrks
# haskellPackages.clckwrks-dot-com #clckwrks.com
# haskellPackages.clckwrks-plugin-bugs #bug tracking plugin for clckwrks
haskellPackages.clckwrks-plugin-ircbot #ircbot plugin for clckwrks
haskellPackages.clckwrks-plugin-mailinglist #mailing list plugin for clckwrks
haskellPackages.clckwrks-plugin-media #media plugin for clckwrks
haskellPackages.clckwrks-plugin-page #support for CMS/Blogging in clckwrks
haskellPackages.clckwrks-theme-bootstrap #simple bootstrap based template for clckwrks
# haskellPackages.clckwrks-theme-clckwrks #simple bootstrap based template for clckwrks
# haskellPackages.clckwrks-theme-geo-bootstrap #geo bootstrap based template for clckwrks #### not building




### WWW ###



amule #Peer-to-peer client for the eD2K and Kademlia networks
amuleDaemon #Peer-to-peer client for the eD2K and Kademlia networks
amuleGui #Peer-to-peer client for the eD2K and Kademlia networks
#2 chromium #An open source web browser from Google
clawsMail #The user-friendly, lightweight, and fast email client
clipgrab #Video downloader for YouTube and other sites
curl #A command line tool for transferring files with URL syntax
ddclient #Client for updating dynamic DNS service entries
directvnc #DirectFB VNC client
elinks #Full-featured text-mode web browser
eolie #A new GNOME web browser
epiphany #WebKit based web browser for GNOME
etherape
fileshelter #FileShelter is a 'one-click' file sharing web application
firefox
freerdp #A Remote Desktop Protocol Client
getmail #A program for retrieving mail
# gnome3.gtkvnc #A GTK VNC widget
gnunet #GNU's decentralized anonymous and censorship-resistant P2P framework
# googleearth #not building >> out of memory
httrack #Easy-to-use offline browser / website mirroring utility
httraqt #Easy-to-use offline browser / website mirroring utility - QT frontend
i2p #Applications and router for I2P, anonymity over the Internet
inadyn #Free dynamic DNS client
irssi #A terminal based IRC client
libquvi #Web video downloader
libvncserver #VNC server library
links #A small browser with some graphics support
links2 #A small browser with some graphics support
mimms #An mms (e.g. mms://) stream downloader
mldonkey #Client for many p2p networks, with multiple frontends
mopidy #An extensible music server that plays music from local disk, Spotify, SoundCloud, Google Play Music, and more
mopidy-musicbox-webclient #Mopidy extension for playing music from SoundCloud
mopidy-soundcloud #Mopidy extension for playing music from SoundCloud


# mumble #Low-latency, high quality voice chat software
# mumble_overlay
# umurmur #Minimalistic Murmur (Mumble server)
# murmur #Low-latency, high quality voice chat software

netsurf.browser #Free opensource web browser
noip #Dynamic DNS daemon for no-ip accounts
ntp #An implementation of the Network Time Protocol
palemoon #A smtube
# polipo #A small and fast caching web proxy
proxychains #Proxifier for SOCKS proxies
pybitmessage #The official Bitmessage client
python36Packages.livestreamer #Livestreamer is CLI program that extracts streams from various services and pipes them into a video player of choice.
python36Packages.livestreamer-curses #Curses frontend for livestreamer
# python36Packages.you-get #A tiny command line utility to download media contents from the web
qbittorrent #Free Software alternative to µtorrent
quvi #Web video downloader
quvi_scripts #Web video downloader
rdesktop #Open source client for Windows Terminal Services
remmina #Remote desktop client written in GTK+
#2 retroshare
ricochet #Anonymous peer-to-peer instant messaging
rtmpdump #Toolkit for RTMP streams
# seeks #Seeks, a social web search engine ### can't build
skypeforlinux
smtube #Play and download Youtube videos
solr #Open source enterprise search platform from the Apache Lucene project
sshfs #FUSE-based filesystem that allows remote filesystems to be mounted over SSH
streamlink #CLI for extracting streams from various websites to video player of your choosing
surfraw #Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power
sylpheed #A lightweight and user-friendly e-mail client
# tahoelafs #Tahoe-LAFS, a decentralized, fault-tolerant, distributed storage system >>>>>>>>>> building errors >> not installable now 180130


#2 teamviewer

thunderbird
tigervnc #Fork of tightVNC, made in cooperation with VirtualGL
tightvnc #Improved version of VNC
tor #Anonymizing overlay network
tribler #A completely decentralised P2P filesharing client based on the Bittorrent protocol
tor-browser-bundle-bin #Tor Browser Bundle
twister #Peer-to-peer microblogging



### TOX ###
libtoxcore #P2P FOSS instant messaging application aimed to replace Skype with crypto
qtox #Qt Tox client
ratox #FIFO based tox client
python36Packages.tox
libtoxcore-new #P2P FOSS instant messaging application aimed to replace Skype with crypto
ssvnc #VNC viewer that adds encryption security to VNC connections
utox #Lightweight Tox client


twister #Peer-to-peer microblogging
vnc2flv #Tool to record VNC sessions to Flash Video
vncrec #VNC recorder
uget #Download manager using gtk+ and libcurl
weechat #A fast, light and extensible chat client
wget
wireshark #Powerful network protocol analyzer
youtube-dl #Command-line tool to download videos from YouTube.com and other sites
x11vnc #A VNC server connected to a real X11 screen


x2goclient #Graphical NoMachine NX3 remote desktop client
x2vnc #A program to control a remote VNC server
xpra #Persistent remote applications for X




];





### Some programs need SUID wrappers, can be configured further or are
### started in user sessions. ###


environment.shellAliases = {
cd_nixos = "cd /etc/nixos";
datacrow = "cd /home/mnt/sshfs26k/home/k/Topics/Tech/IT/Apps/Datacrow/Data_Crow/ && java -Xmx256m -jar datacrow.jar";
freeplane = "cd /home/mnt/sshfs26k/home/k/Topics/Tech/IT/Apps/Freeplane/freeplane-1.6.14 && java -Xmx256m -jar freeplanelauncher.jar";
git_nixosSatus = "cd /etc/nixos && git status";
git_nixosAdd = "cd /etc/nixos && git add .";
git_nixosPush = "cd /etc/nixos && git push -u origin master .";
gs = "git status";
ga = "git add";
gb = "git branch";
gc = "git commit";
gd = "git diff";
go = "git checkout";
gk = "gitk --all&";
gx = "gitx --all";
got = "git";
get = "git";






l = "ls -alh";
ll = "ls -l";
ls = "ls --color=tty";
nconf = "geany /etc/nixos/configuration.nix";
s26 = "ssh k@192.168.0.26";
sf26 = "sshfs 192.168.0.26:/ /home/mnt/sshfs26k";
u26 = "fusermount -u /home/mnt/sshfs26k"; ## umount sshfs26 ##
sw = "nixos-rebuild switch";
t = "qterminal";


};
programs.bash.enableCompletion = true;
programs.mtr.enable = true;
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };



##############################################################################
###### ########
###### SERVICES ########
###### ########
##############################################################################




### List services that you want to enable: ###





### Enable non free packages ###

nixpkgs.config.allowUnfree = true;



###........ADMIN........###


### garbage collection ###

nix.gc.automatic = true;
nix.gc.dates = "02:00";
nixpkgs.config.allowBroken = true;
#swapDevices.***.size = 4000;


### LOCATE ###


services.locate.enable = true;
services.locate.interval = "*-*-* 04:00:00";


### optimise ###

nix.autoOptimiseStore = true;
nix.optimise.automatic = true;
nix.optimise.dates = [ "*-*-* 05:00" ];


### UPGRADE ###


system.autoUpgrade.enable = true;
system.autoUpgrade.channel = "https://nixos.org/channels/nixos-unstable";
system.autoUpgrade.dates = "*-*-* 03:00";



###........AUDIO........###


hardware.pulseaudio.enable = true;
hardware.pulseaudio.support32Bit = true;





###........DATABASE.........###



### MYSQL ###



services.mysql.package = pkgs.mariadb;
services.mysql.enable = true;



### Postgresql ###


services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql100;




###........FIREWALL........###


### Open ports in the firewall. ###

# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
services.xrdp.enable = true;
#services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm";
services.xrdp.defaultWindowManager = "xfce4-session";




###........LANGUAGES........###










###........PRINTING........###


#### Enable CUPS to print documents. ###

services.printing.enable = true;
services.printing.drivers = [ pkgs.gutenprint pkgs.hplip pkgs.splix pkgs.cups-dymo pkgs.gutenprintBin pkgs.epson-escpr pkgs.foo2zjs pkgs.ghostscriptX pkgs.ijs pkgs.cups-bjnp ];
services.printing.browsing = true;


### Enable automatic discovery of the printer (from other linux systems with avahi running) ###

services.avahi.enable = true;
services.avahi.publish.enable = true;
services.avahi.publish.userServices = true;


# services.printing.listenAddresses = [ "*:631" ]; # Not 100% sure this is needed and you might want to restrict to the local network

services.printing.defaultShared = true; # If you want


networking.firewall.allowedUDPPorts = [ 137 138 631 7657 9973];
networking.firewall.allowedTCPPorts = [ 80 139 445 631 3389 6600 7657 8000 9050 9150 10000 19455 50114 ];






###........REMOTE........###


### Enable the OpenSSH daemon. ###

services.openssh.enable = true;
services.sshd.enable = true;


programs.ssh.forwardX11 = true;
services.openssh.forwardX11 = true;
# services.sshd.forwardX11 = true;




###........SAMBA SHARES........###


services.samba = {
enable = true;
shares = {
KOn26 =
{ path = "/home/k";
"read only" = "yes";
browseable = "yes";
"guest ok" = "yes";
"valid users" = "k";
comment = "Public Samba Share";
};



};

extraConfig = ''
guest account = smbguest
map to guest = bad user
'';
};
# create the smbguest user, otherwise connections will fail
users.users.smbguest =
{ name = "smbguest";
uid = config.ids.uids.smbguest;
description = "smb guest user";
};





###........TASKWARRIOR SERVER........###


services.taskserver.enable = true; #Whether to enable the Taskwarrior server. More instructions about NixOS in conjuction with Taskserver can be found in the NixOS manual at .





###........TERMINAL........###

programs.tmux.enable = true;






###........USERS........###





### Define a user account. Don't forget to set a password with ‘passwd’. ###

# users.extraUsers.guest = {
# isNormalUser = true;
# uid = 1000;
# };



users.extraUsers.lapine =
{ isNormalUser = true;
home = "/home/lapine";
description = "Marie Cull";
extraGroups = [ "wheel" "networkmanager" "audio" ];
# openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
};


users.extraUsers.k =
{ isNormalUser = true;
home = "/home/k";
description = "Claude Hastir";
extraGroups = [ "wheel" "networkmanager" ];
# openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
};








###.........VIRTUAL........###



### Virtualbox ###


# services.virtualbox.host = { enable = true; enableHardening = false; };
# security.wrappers = [ "VirtualBox" "VBoxManage" ];
# virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.guest.enable = true;


# # Enable the Oracle Extension Pack.
#nixpkgs.config.virtualbox.enableExtensionPack = true;







###........WWW........###


# services.httpd.enable = true; #Whether to enable the Apache HTTP Server.
# services.httpd.adminAddr = "claude@bitmessage.ch";
# services.httpd.documentRoot = "/www";

services.httpd = {
enable = true;
adminAddr = "claude@bitmessage.ch";
documentRoot = "/www";
enableUserDir = true;
enablePHP = true;
};


programs.java.enable = true;



#services.i2p.enable = true;
#services.i2pd.enable = true;
services.gnunet.enable = false;
services.lighttpd.enable= false;
services.lighttpd.gitweb.enable = false;




###........TOR........###

services.tor.client.enable = true;
# services.tor.client.privoxy.enable = true;
services.tor.enable = true;
#services.tor.client.socksListenAddressFaster = "127.0.0.1:9150";
services.tor.client.socksListenAddress = "127.0.0.1:9150";
services.tor.controlPort = 9150;
#services.tor.torsocks.enable = true;
services.tor.client.socksPolicy = "accept 192.168.0.0:9150";





###........VirusScan........##


# services.clamav.daemon.enable = true;
# services.clamav.daemon.extraConfig = "";
# services.clamav.updater.config;
# services.clamav.updater.enable = true;
# services.clamav.updater.extraConfig = "";
# services.clamav.updater.frequency = 12;
# services.clamav.updater.interval = "hourly";






###........X........###


### Enable the X11 windowing system. ###

services.xserver.enable = true;
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";




### Enable touchpad support. ###

# services.xserver.libinput.enable = true;




#####........DISPLAY MANAGER........#####

services.xserver.displayManager.sddm.enable = false;
services.xserver.displayManager.lightdm.enable = true;


##### Enable the KDE Desktop Environment, window managers & others. #####


services.xserver.desktopManager.plasma5.enable = false;
services.xserver.windowManager.i3.enable = true;
services.xserver.windowManager.i3.extraPackages =with pkgs; [
dmenu
i3status
i3lock
] ;


# services.xserver.windowManager.jwm.enable = true;

services.xserver.desktopManager.xfce.enable = true;
services.xserver.desktopManager.lxqt.enable = true;
# services.xserver.desktopManager.gnome3.enable = true;
# services.xserver.windowManager.xmonad.enable = true;
# services.xserver.windowManager.twm.enable = true;
# services.xserver.windowManager.icewm.enable = true;







### 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 = "19.03"; # Did you read the comment?


}



[root@bx27:~]# nix-env -q

abook-0.6.1
albert-0.14.21
apache-jena-3.7.0
cdrkit-1.1.11
cracklib-2.9.6
ddrescue-1.23
easytag-2.4.3
file-5.34
gptfdisk-1.0.4
inotify-tools-3.20.1
jitsi-2.10.5550
k3b-18.08.1
keybase-2.7.3
libcddb-1.3.2
log4cplus-2.0.2
lua-5.2.4
minicom-2.7.1
msmtp-1.6.8
mumble-1.2.19
nodejs-8.12.0
nwipe-0.25
parted-3.2
picocom-3.1
python2.7-deluge-1.3.15
radiotray-ng-0.2.3
riot-web-0.16.5
setserial-2.17
soundtouch-2.0.0
streamripper-1.64.6
symlinks-1.4.3
syncthing-0.14.51
telegram-cli-2016-03-23
telegram-desktop-1.4.3
testdisk-7.1
tio-1.31
transmission-2.94
treesheets-2018-08-18
unison-2.48.4
uucp-1.07
xfsprogs-4.14.0
xpra-2.3.4


[k@bx27:~/Sh]$ nix-env -q

areca-7.5
bind-9.12.1
bomi-0.9.11
borgbackup-1.1.7
c14-cli-0.3
cryfs-0.9.9
deadbeef-with-plugins-0.7.2
dolphin-18.08.1
emby-3.5.3.0
falkon-3.0.1
ffmpegthumbnailer-2.2.0
ffmpegthumbs-18.08.1
gettext-0.19.8.1
gnupg-2.2.10
gocryptfs-v1.5
inotify-tools-3.20.1
krusader-2.7.1
lsyncd-2.2.3
lua-5.2.3
mailutils-3.2
midori-0.5.11
mplayer-1.3.0
nautilus-3.28.1
ne-3.0.1
ntfs3g-2017.3.23
otter-browser-0.9.99.3
python3.6-pybase64-0.4.0
restic-0.9.2
subsonic-6.1.3
sushi-3.28.3
testdisk-7.1
tilda-1.4.1
tumbler-0.2.1









Starting BX27


  1. on-1 type: W+enter >> to get cli
  2. on-1

type: sshfs k@192.168.0.26:/ /mnt/sshfs26k/ #to mount bx26 root on /mnt/sshfs26k

  1. on-1

type: tor # to start tor service
on-1 type: cryptsetup luksOpen /dev/disk/by-uuid/8071abef-1281-4b36-883b-846af511ad2c hdd1 # as root to access luks on hdd1
Enter passphrase for /dev/disk/by-uuid/8071abef-1281-4b36-883b-846af511ad2c: 1C...h
on-1 type: mount -t xfs /dev/mapper/hdd1 /mnt/hdd1on27/ #mounting of hdd1 on /mnt/hdd1on27/

  1. on-1 type: unison -ui text -repeat watch UnisonTest #to start auto detection of changes on unisontest folder and apply the sync between 2 folders


config


hdd1

storage


xfs on luks
luks Home:Tech:Home:PCs:pw:1C1...h
mounting on /mnt/hdd1on27


backups of bx27 home on hdd1


backup of k1 on bx26 hdd2


[ root ] ( rsync -avzh /mnt/hdd1on27/k1/ k@192.168.0.26:/mHome:Tech:Home:PCs:nthdd2on26k1 )


backup of lapine on bx27 hdd1